ν‹°μŠ€ν† λ¦¬ λ·°

728x90
λ°˜μ‘ν˜•

문제

 

2309번: 일곱 λ‚œμŸμ΄

아홉 개의 쀄에 걸쳐 λ‚œμŸμ΄λ“€μ˜ ν‚€κ°€ 주어진닀. μ£Όμ–΄μ§€λŠ” ν‚€λŠ” 100을 λ„˜μ§€ μ•ŠλŠ” μžμ—°μˆ˜μ΄λ©°, 아홉 λ‚œμŸμ΄μ˜ ν‚€λŠ” λͺ¨λ‘ λ‹€λ₯΄λ©°, κ°€λŠ₯ν•œ 정닡이 μ—¬λŸ¬ 가지인 κ²½μš°μ—λŠ” μ•„λ¬΄κ±°λ‚˜ 좜λ ₯ν•œλ‹€.

www.acmicpc.net

 

문제 풀이

 μ•„홉 λ‚œμŸμ΄ 쀑에 7λͺ…을 μ„ νƒν•˜μ˜€μ„ λ•Œ ν‚€μ˜ 합이 100이 λ˜λŠ” 경우λ₯Ό μ°ΎλŠ” λ¬Έμ œμ΄λ‹€. 주어진 9λͺ…μ˜ λ‚œμŸμ΄λ“€μ„ 7λͺ…μœΌλ‘œ 뽑을 수 μžˆλŠ” 쑰합을 μ°Ύκ³  이 쀑에 ν‚€μ˜ 합이 100인 경우λ₯Ό λ°˜ν™˜ν•˜λ©΄ λœλ‹€.

 

μ½”λ“œ

from itertools import combinations

if __name__ == '__main__':
    dwarfs = [0] * 9
    for idx in range(9):
        dwarfs[idx] = int(input())

    for case in combinations(dwarfs, 7):
        if sum(case) == 100:
            for height in sorted(case):
                print(height)
            break

 

728x90
λ°˜μ‘ν˜•
λŒ“κΈ€
κΈ€ 보관함
μ΅œκ·Όμ— 올라온 κΈ€
μ΅œκ·Όμ— 달린 λŒ“κΈ€