
🚀접근하기 배열에서 두 항목을 교환시켜 결국엔 사용자가 원하는대로 바구니를 뒤집어주면 되는 문제 🎉코드 N, M = map(int, input().split()) basket=[] for i in range(0, N+1): basket.append(i) for i in range(M): s1, s2 = map(int, input().split()) while(s1 < s2): basket[s1], basket[s2] = basket[s2], basket[s1] s1 += 1 s2 -= 1 for i in range(1, N+1): print(basket[i], end=' ') 문자열을 받아 공백을 기준으로 split 시키고, map 함수를 이용하여 s1, s2에 넣어주었다. 또한 이번에 새로 알게된 것이..
3장 SQL 최적화 기본 원리 1절옵티마이저와 실행계획 1. 옵티마이저: SQL문에 대한 최적의 실행방법을 결정하여 실행 계획 도출, SQL문에 대한 파싱 후 실행됨, 내비게이션 %SQL문 실행 순서 파싱: SQL문법 검사 및 구문 분석 작업 실행: 옵티마이저의 실행 계획에 따라 인출: 데이터를 읽어 전송 옵티마이저 엔진 -질의 변환기: 작성된 SQL문을 처리하기 용이한 형태로 변환하는 모듈 -비용 예측기: 생성된 계획의 비용을 예측하는 모듈 -대안계획 생성기: 동일한 결과를 생성하는 다양한 대안 계획을 생성하는 모듈, 1) 연산 적용 순서 2) 연산 방법 3) 조인 순서의 변경을 통해 대안 계획 생성 종류 -규칙기반 옵티마이저: 우선순위 규칙에 따라 실행계획 생성, 인덱스가 있으면 반드 시 인덱스 사용..
집합연산자: 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회할 때 사용 SELECT 절의 칼럼 수가 동일하고 SELECT 절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호호환할 때 사용 가능 일반 집합 연산자 1. UNION: 합집합(중복 행 1개로) 정렬 2. UNION ALL: 합집합(중복 행도 표시) 정렬X 3. INTERSECT : 교집합(중복 행 1개로) 4. MINUS : 차집합(중복 행 1개로) 5. CROSS JOIN : 곱집합(PRODUCT) ALIAS는 처음 테이블, 정렬은 마지막 테이블 기준 순수 관계 연산자: 관계형 DB를 새롭게 구현 1. SELECT -> WHERE절로 구현 2. PROJECT -> SELECT절로 구현 3. NATURAL JOIN -> 다..
6절 함수 1. 단일 행 함수: 1) SELECT 절 2)WHERE 절 3)ORDER BY 절에 사용 가능, 각 행에 개별적으로 작용, 여러 인자를 입력해도 단 하나의 결과만 출력 A. 문자형 함수: 문자열 입력 시 문자열이나 숫자 반환 i. LOWER, UPPER, LENGTH ii. CONCAT: 문자열 결합 iii. SUBSTR: 문자열 부분 추출 iv. LTRIM, RTRIM, TRIM: 왼쪽 공백 제거, 오른쪽 공백 제거, 양쪽 공백 제거 v. ASCII : 아스키 코드값 출력 B. 숫자형 함수 i. ABS, SIGN : 절대값, 부호 (1,0,-1 중 출력) ii. MOD: 나머지, 연산자 ‘%’로 대체 가능함 iii. ROUND, CEIL, FLOOR: 반올림, 올림, 버림 (‘함수(E,N)..
1장 SQL 기본 1절 관계형 데이터베이스 개요 1.DB: 데이터를 일정한 형태로 저장해 놓은 것, DBMS를 이용하여 효율적인 데이터 관리와 데이터 손상 복구 가능 종류 -계층형 DB: 트리 형태의 자료구조에 데이터 저장, 1:N 관계 표현 -네트워크형 DB: 오너와 멤버 형태로 데이터 저장, M:N 관계 표현 -관계형 DB: 릴레이션에 데이터 저장, 집합 연산과 관계 연산 가능 2. 관계형 DB(RDB; Relational Database): 1) 정규화를 통해 이상현상 및 중복 데이터 제거 2) 동시성 관리와 병행제어를 통해 데이터 동시 조작 가능 1. 집합연산 - 합집합 (Union) - 차집합 (Difference) - 교집합 (Intersection) - 곱집합 (Cartesian Produc..
2장. 데이터 모델과 성능 성능 데이터 모델링: DB 성능향상을 목적으로 설계단계의 데이터 모델링 때부터 정규화, 반정규화, 테이블통합, 데이블분할, 조인구조, PK, FK 등 여러가지 성능과 관련된 사항이 데이터 모델링에 반영될 수 있도록 하는 것 분석/설계 단계에서 데이터 모델에 성능을 고려한 데이터 모델링을 수행할 경우 성능저하에 따른 재업무 비용을 최소화 할 수 있음. 데이터의 증가가 빠를수록 성능저하에 따른 성능개선비용은 기하급수적으로 증가하게 된다. 성능 데이터 모델링 고려사항 순서 1. 데이터 모델링을 할 때 정규화를 정확하게 수행 2. DB 용량산정을 수행한다. 3. DB에 발생되는 트랜잭션의 유형을 파악한다. 4. 용량과 트랜잭션의 유형에 따라 반정규화를 수행. 5. 이력모델의 조정, P..
데이터 모델링의 중요성 및 유의점 -중복: 같은 시간 같은 데이터 제공 -비유연성: 사소한 업무변화에 데이터 모델이 수시로 변경되면 안됨. 데이터 정의를 사용 프로세스와 분리한다. -비일관성: 데이터 간 상호 연관 관계에 대해 명확히 정의해야 한다. 1. 중복: 중복 데이터는 데이터베이스 내의 일관성과 정확성을 저해할 수 있습니다. 중복을 최소화하고 데이터의 표준화를 유지하여 데이터의 일관성을 확보해야 합니다. 2. 비유연성: 데이터 모델링은 비즈니스 프로세스의 변화에 유연하게 대응할 수 있도록 구조를 설계해야 합니다. 데이터 정의를 프로세스와 분리하여 업무 변화에 유연하게 대처할 수 있는 환경을 조성해야 합니다. 3. 비일관성: 데이터 간의 관계를 명확하게 정의하여 데이터베이스 내의 정보가 일관되고 정..

🚀접근하기 원래 팩토리얼을 구하는 것처럼 구하면 메모리 초과가 일어나서 다른 방법으로 풀어야했던 문제. 끝자리 0의 개수를 구하는 것인데, 끝자리가 0이되려면 a * 10^n 으로 표현이 돼야하고, 10은 2*5로 소인수 분해된다는 것을 생각하면 쉽게 풀리는 문제이다! 2와 5가 쌍을 이루어야 끝자리가 0이 될 수 있기 때문에(2가 아무리 많아도 5가 적으면 0의 개수는 5의 개수), 2와 5중 더 작은 개수를 가진 것을 출력해주면 된다. 🎉코드 n, m = map(int, input().split()) def two(num): two_cnt = 0 n=1 i=2 while n != 0: n = num // i two_cnt += n i = i * 2 return two_cnt def five(num):..
- Total
- Today
- Yesterday
- 자바
- 회원탈퇴
- 커뮤니티
- 스프링 커뮤니티
- 북마크
- EnumType.ORDINAL
- JPA
- 영속
- DP
- 로깅
- 비영속
- 웹 MVC
- SQL
- 파이썬
- 지연로딩
- 스프링부트
- 백준 파이썬
- 인텔리제이
- 준영속
- 백준
- SQLD
- 자바 스프링
- 스프링
- 로그아웃
- 프론트엔드
- 웹MVC
- SQL 레벨업
- 스프링 북마크
- 다이나믹 프로그래밍
- elasticsearch
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |