https://www.acmicpc.net/problem/2309
📝 알고리즘
들어오는 순서에 상관없이 숫자 7개의 합을 100으로 맞춰야 하기 때문에 파이썬 itertools의 combinations를 사용했다. 알고리즘은 잘 생각했는데 출력물이 깔끔하지 않아서 아쉬웠다. 당장 생각나는 게 이 코드여서 제출을 하고, 다른 사람의 코드를 보니 sorted를 for문의 반복횟수로 지정해주었다. 파이썬 for문은 어떤 시퀀스(sequence)를 반복하는 문법이므로 sorted가 반복횟수가 될 수 있는 것이다.
💻 최종 코드
from itertools import combinations as comb
t = []
h = 0
for _ in range(9):
t.append(int(input()))
for i in comb(t,7):
if sum(i) == 100:
i = list(i)
i.sort()
for j in i:
print(j)
break
💡 참고한 코드
import itertools
stature = []
for _ in range(9):
stature.append(int(input()))
for i in itertools.combinations(stature,7):
if sum(i) == 100:
for j in sorted(i):
print(j)
break
* 백준 사이트 hyen1553님의 코드를 참고하였습니다.
'Koala - 9기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/python] 2789번 : 유학 금지 (0) | 2023.01.27 |
---|---|
[백준/python] #4949 균형잡힌 세상 (0) | 2023.01.26 |
[백준/python] 2596번 : 비밀편지 (0) | 2023.01.25 |
[백준/python] 17502번 : 클레어와 팰린드롬 (0) | 2023.01.24 |
[백준 / python] #11652 카드 (0) | 2023.01.24 |