토니의 연습장

독특한 이중 list comprehension 접근방법 본문

Algorithm/CH 5. 응용 문제

독특한 이중 list comprehension 접근방법

bellmake 2025. 2. 22. 17:07
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