반응형
문제 출처: www.acmicpc.net/problem/2217
1 . 문제 접근 방식
- 먼저 무게를 입력 받고 오름차순 정렬을 한뒤 뒤집어서 [a*1, b*2, ...]의 방식을 사용하여 원소들 중 최대 값을 구하면 될 것이라고 생각하였다.
2 . 내가 푼 코드
import sys
N = int(sys.stdin.readline())
new_list = []
# N개를 입력받은 후 리스트에 넣음
for i in range(N):
w = int(sys.stdin.readline())
new_list.append(w)
# 내림 차순 정렬
new_list = list(reversed(sorted(new_list)))
# 각 무게를 저장하기 위한 배열
weight = []
# 각 인덱스마다 견딜수 있는 최대 하중을 계산하여 weight 리스트에 넣음
for j in range(N):
weight.append(new_list[j] * (j+1))
# 최대값 출력
print(max(weight))
3 . 결과 및 느낀점
- 성공! 처음에 오름차순으로 정렬한뒤 계산해서 삽질좀 했다.
출처: https://naekang.tistory.com/30 [주간비행]
반응형
'개인 공부 > Algorithm' 카테고리의 다른 글
[Baekjoon/백준] 2437번 Python (0) | 2021.04.07 |
---|---|
[Baekjoon/백준] 2212번 Python (0) | 2021.04.07 |
[개인공부] 알고리즘 공부 #3 (0) | 2021.04.06 |
[Baekjoon/백준] 1026번 Python (0) | 2021.04.06 |
[Baekjoon/백준] 11399번 Python (0) | 2021.04.06 |