알고리즘7 [그리디 알고리즘] 백준 11399번 ATM [문제] https://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() result = 0 for i in range(n): result += sum(time[0:i+1]) print(result) 2022. 6. 25. [그리디 알고리즘] 백준 2217번 로프 [문제] https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net [생각거리] - [코드] n= int(input()) weights = [] for i in range(n): weight = int(input()) weights.append(weight) weights.sort() max = 0 for i in range(n): weight_p = weights[i]*(n-i) if weight_p > max: max = weight_p pr.. 2022. 6. 25. [그리디 알고리즘] 백준 1931번 회의실 배정 [문제] https://www.acmicpc.net/problem/1931 [생각거리] - 당연히 duration 시간을 구해서 정렬하면 될 거라고 생각했는데, 이게 아둔한 생각이었다. - 회의 시작 시간을 기준으로 정렬하고, 그 다음에 회의 종료 시간을 기준으로 정렬하는 부분이 내가 놓친 부분. - 그리디 알고리즘의 핵심은 얼마나 단순하게 문제에 접근하느냐인 것 같다. [코드] n = int(input()) time_table = [] count = 1 for i in range(n): a,b = map(int, input().split()) time_table.append([a,b]) time_table.sort(key=lambda x:x[0]) time_table.sort(key=lambda x:x.. 2022. 6. 25. 이전 1 2 다음