티스토리 뷰

알고리즘/백준

[백준] 2217. 로프

빙빙 2021. 4. 19. 11:20

입력 값이 

3

5

7

12 라면

무게가 가장 많이 나가는 값은 해당하는 하나의 로프에만 가능하고 가장 작은 무게를 가진 로프는 모든 로프의 개수에 가능 하기 때문에 내림차순 정렬을 해서 인덱스 간의 곱으로 풀이를 했다.

 

따라서 먼저 sort()함수를 사용하여 오름차순 정렬을 한 다음에 reverse()함수를 사용하여 내림차순으로 정렬을 했다.

그러면 rope = [12, 7, 5]가 되는데, 리스트 인덱스는 0부터 시작하기 때문에 인덱스+1를 해준 값을 각 원소마다 곱해주었다. 이 곱해준 값들을 다 저장해 놓고 최대값을 뽑으면 된다.

 

 


N = int(input())
rope = []
for i in range(N):
    rope.append(int(input()))
rope.sort()
rope.reverse() #내림차순 정렬
ans = []
for i in range(N):
    ans.append(rope[i] * (i+1))

print(max(ans))

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 15650 .N과 M(2)  (0) 2021.04.20
[백준] 15649 . N과 M (1)  (0) 2021.04.20
[백준] 11501. 주식  (0) 2021.04.17
[백준] 1931 . 회의실 배정  (0) 2021.04.15
[백준] 13305. 주유소  (0) 2021.04.14
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함