토니의 연습장
독특한 이중 list comprehension 접근방법 본문
from itertools import combinations
N = int(input())
w = []
for _ in range(N):
weight = int(input())
w.append(weight)
# 오르차순 정렬
w.sort()
# k 개 선택
tuples_list = [list(combinations(w,k)) for k in range(1,len(w)+1)]
first_elements = [ [tuple[0] for tuple in tuples] for tuples in tuples_list]
print(tuples_list)
# 출력 & 최대 중량 저장
max_weight = -1
for i, sublist in enumerate(first_elements):
print(f"tuples[{i}]의 첫 번째 원소들: {sublist}")
weight = sublist[-1]*(i+1)
if max_weight < weight:
max_weight = weight
print(max_weight)
단, 위 사항은 필요시에 활용해 볼 수 있을 것 같고, 메모리 사용에 주의해야 하는 경우에는 사용하지 않는 것이 좋을 것으로 판단되며 출제의도에 맞는 알고리즘을 선택해야 할 것입니다.
'Algorithm > CH 5. 응용 문제' 카테고리의 다른 글
정수 입력받기 참고 (0) | 2025.02.22 |
---|---|
2. 백준 1932 (0) | 2025.01.04 |
1. 백준 11053 (1) | 2025.01.04 |