백준 2217: 로프 (파이썬)
# [BOJ] 2217. 로프 2022-11-26
N = int(input())
a = 0
# 전체 로프를 작은 것부터 정렬
L = sorted(list(int(input()) for _ in range(N)))
for _ in range(N):
# 가장 작은 값을 전체 로프의 수 만큼 곱해 보고 현재 최대값보다 크면 닶 변경
aa = L[0] * len(L)
if aa > a:
a = aa
# 0번째 인덱스 값을 없앰으로서 다음 가장 작은 값을 이용해 재계산
L.pop(0)
print(a)
로프 중 일부를 사용하지 않아도 된다는 점에 주의
(너무 작은 값을 가진 로프를 쓰는 것이 오히려 비효율적일 수 있음)
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 1966 프린터 큐 (python) (0) | 2022.12.11 |
---|---|
[BOJ] 4949 균형잡힌 세상 (python) (0) | 2022.12.10 |
[BOJ] 10989 수 정렬하기 3 (python) (0) | 2022.10.03 |
[BOJ] 11652 카드 (python) (0) | 2022.10.01 |
[BOJ] 1463 1로 만들기 (python) (0) | 2022.09.06 |