2019.03.18) 선린 정올특집 1편 - 1449, 9095, 11508, 11509, 13900(PyPy3)
2019. 3. 18. 15:46ㆍ프로그래밍(주력)/백준 문제풀이
간단했다.
탐색같은 원리적인건 안써도 됬지만 고민할 필요는 있는 문제들이었다.
1449번
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | N, L = map(int, input().split(' ')) li = list(map(int, input().split(' '))) li.sort() re = 0 i = 0 while i < N: for j in range(i + 1, N): if li[i] + L - 1 < li[j]: re += 1 i = j - 1 break if j == N - 1: i = j else: re += 1 i += 1 print(re) | cs |
9095번
1 2 3 4 5 6 7 8 9 10 | dp = [1, 2, 4] for _ in range(int(input())): n = int(input()) for i in range(len(dp) - 1, n - 1): dp.append(dp[i] + dp[i - 1] + dp[i - 2]) print(dp[n - 1]) | cs |
11508번
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | from heapq import heappush, heappop hq = list() N = int(input()) for _ in range(N): heappush(hq, int(input())) r = 0 hq.sort(reverse=True) for i in range(1, N + 1): if i % 3 == 0: continue r += hq[i - 1] print(r) | cs |
11509번
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | N = int(input()) li = list(map(int, input().split(' '))) visited = [False for i in range(N)] re = 0 for i in range(N - 1, -1, -1): for j in range(i - 1, -1, -1): if li[i] + 1 == li[j] and not visited[j]: visited[j] = True break else: re += 1 print(re) | cs |
13900번
1 2 3 4 5 6 7 8 9 10 11 12 13 | N = int(input()) li = list(map(int,input().split(' '))) re = 0 s = 0 for i in range(N - 1, 0, -1): re += li[i] s += re * li[i - 1] print(s) | cs |
'프로그래밍(주력) > 백준 문제풀이' 카테고리의 다른 글
2019.03.20) 소프트웨어 마에스트로 마지막 스퍼트 2편(위상정렬) - 1516, 2252, 3665 (PyPy3) (0) | 2019.03.20 |
---|---|
2019.03.19) 소프트웨어 마에스트로 마지막 스퍼트 1편 - 14442 (PyPy3) (0) | 2019.03.19 |
2019.03.17) 백준 최단경로 특집 6편 - 6118(PyPy3) (0) | 2019.03.17 |
2019.03.16) 백준 최단경로 특집 5편 - 10159(PyPy3) (0) | 2019.03.16 |
2019.03.15) 백준 최단경로 특집 4편 - 1238, 1389, 11403(PyPy3) (0) | 2019.03.15 |