알고리즘
들어오는 순서에 상관없이 숫자 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님의 코드를 참고하였습니다.
문제를 푸는데 11분 걸렸는데, 출력물을 고민하느라 5분은 쓴 것같다. 😂
다음에 sorted를 시퀀스로 사용하는 방법 써먹어야지!!
'PS > BOJ&Programmers' 카테고리의 다른 글
[백준/11383] 뚊 | 2차원 이미지 | 행렬 한줄씩 걷어내기(?) (0) | 2023.01.28 |
---|---|
[백준/1942] 디지털시계 | 1초씩 증가 => while t += 1 (0) | 2023.01.27 |
[백준/10809] 알파벳 찾기 | find() 찾고자 하는 문자의 인덱스를 반환 (0) | 2023.01.22 |
[백준/1436] 영화감독 숌 (0) | 2023.01.22 |
[백준/4949] 균형잡힌 세상 | Stack (0) | 2023.01.21 |