문제 www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 코드 N = int(input()) time = list(map(int, input().split())) time.sort() sum=0 for i in range(N): for j in range(i+1): # i가 0~4까지들어오기 때문에 +1을 해줘서 i가 0일떄도 for문이 돌아 가게 하고 j도 4까지 하기 위해 1을 더한 것이다 sum += time[j] print(sum) 코드설명 그리디 알고리즘으로 문제를 풀었다. 입력값들..
문제 www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 코드 N, K = map(int, input().split()) d = [int(input()) for _ in range(N)] d.sort(reverse=True) result = 0 for i in range(N): if d[i] > K: continue else: result += K // d[i] K = K % d[i] print(r..
문제 www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 코드 T = int(input()) q = [] for i in range(T): q.append(list(map(int,(input().split())))) for i in range(1,T): for j in range(len(q[i])): if j==0: # 맨왼쪽 q[i][j] += q[i-1][j] elif j==i: # 맨오른쪽 q[i][j] += q[i-1][j-1] else: # 가운데 q[i][j] += max(q[i-1][j], q[i-1][j-1]) prin..
문제 www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 코드 T = int(input()) rgb = [] for i in range(T): rgb.append(list(map(int,(input().split())))) for i in range(1,T): rgb[i][0] = rgb[i][0] + min(rgb[i-1][1], rgb[i-1][2]) rgb[i][1] = rgb[i][1] + min(rgb[i-1][0], rgb[i-1..