| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 31 |
- appendleft
- BFS
- spring
- LCM
- C#강의
- 프로그래머스
- 연관관계
- 1일1솔
- JPA
- Java
- 완전탐색
- 합 구하기
- 인프런
- 백준
- 소수찾기
- DP
- 브루투포스
- 우선순위큐
- pypy3
- popleft
- 그리디 알고리즘
- Python
- mvc
- deque
- c#
- 파이썬
- 누적합
- 소수판별
- python3
- unity
- Today
- Total
목록전체 글 (139)
jae_coding
문제 문제 링크 문제 접근 N의 범위가 20만으로 매우크기 때문에 for문을 2번이상 돌리는 것은 효율적이지 않다고 생각했다. 자료구조인 dictionary를 이용하는 것이 효율적이라고 생각한다. 코드 import sys input = sys.stdin.readline N, K = map(int, input().split()) lst = list(map(int, sys.stdin.readline().split())) memo = {0: 1} sum_value = 0 result = 0 for val in lst: sum_value += val # 이전 누적값에서 - K인 것이 존재한다면 result에 추가해줌 if sum_value - K in memo.keys(): result += memo[sum_v..
문제 문제 링크 문제 접근 N(짝수): 동굴의 길이 H: 동굴의 높이 종유석과 석순이 번갈아가면서 등장한다 종유석: 아래에서부터 등장 석순: 위에서부터 등장 짝수번째 인덱스: 종유석, 홀수번째 인덱스: 석순으로 지정후 리트스 추가 코드 import sys N, H = map(int, sys.stdin.readline().split()) up = [0] * (H+1) down = [0] * (H+1) count = [0] * (H+1) for i in range(N): temp = int(sys.stdin.readline()) if i % 2 == 0: down[temp] += 1 else: up[H-temp+1] += 1 for j in range(H-1, 0, -1): down[j] += down[j+..