-
[백준 알고리즘 / 파이썬] 2217번 : 로프PS 2022. 1. 25. 20:18
Greedy Alg 문제다.
n개의 최대 하중이 주어지고, 몇 개의 로프를 쓰던지 상관없이 "최대 하중"만을 구하는 것이 목표이다.
사용하는 로프의 개수를 정하면 그에 따른 최대 하중을 바로 계산할 수 있기 때문에,
1, 2, ,,,n-1, n개의 로프를 쓰는 모든 경우의 수를 따져 보면 된다.
- 1개의 로프 사용 : 1*(1번 째 큰 값)
- 2개의 로프 사용 : 2*(2번 째 큰 값)
...
- n개의 로프 사용 : n*(n번 째 큰 값)
이 계산한 하중들을 리스트에 넣어서 max로 뽑아내면 끝!
n = int(input()) weight = [] for _ in range(n): weight.append(int(input())) weight.sort(reverse=True) # 내림차순 compute = [] for i in range(n): compute.append(weight[i]*(i+1)) print(max(compute))
'PS' 카테고리의 다른 글
[백준 알고리즘 / 파이썬] 2875번 : 대회 or 인턴 (0) 2022.01.28 [백준 알고리즘 / 파이썬] 1764번 : 듣보잡 (0) 2022.01.17