코딩테스트2 [백준 15486번] 동전 1 문제풀이 이전에 풀던 문제는 다이나믹 프로그래밍을 이용해 최소 개수나 최대 개수를 구하는 것이었는데, 이 문제는 경우의 수를 구하라는 면에서 달랐다. 다이나믹 프로그래밍을 이용해 어떻게 값을 저장해야 좋을지 고민하였다. 가치 k가 되는 경우의 수 문제를 가치 i (1 2023. 8. 1. [백준] 1654번 랜선 자르기 이진 탐색을 이용해서 랜선이 조건을 만족하는 최대 길이를 구해야 한다. N개의 랜선을 만들어야 하므로, mid를 기준으로 랜선을 자를때 나오는 count값을 세어서, count 값이 N개의 값보다 더 크다면, 더 랜선의 길이를 늘릴 수 있으므로, start = mid + 1로 조건을 바꾼다. count 값이 N개의 값보다 더 작다면, 랜선의 길이를 줄여야 하므로, end = mid - 1로 조건을 바꾼다. k, n = map(int, input().split()) array =[] for i in range(k): array.append(int(input())) start = 1 end = max(array) while(start = n: start = mid + 1 else: end = mid - 1 .. 2023. 7. 24. 이전 1 다음