๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CodingTest

[Python]๋ฐฑ์ค€ 2309๋ฒˆ::์ผ๊ณฑ๋‚œ์Ÿ์ด

by ๋„์บ๋ฆฌ๐Ÿฑ 2021. 4. 29.
๋ฐ˜์‘ํ˜•

Key Point

๐Ÿ‘‰ intertools ๋ชจ๋“ˆ ์‚ฌ์šฉํ•˜๊ธฐ

 

์ •๋ฆฌ

๐Ÿ‘‰ combinations ๊ณผ permutations ์™€ ์ฐจ์ด์ ์€?

 

- permutations ์€ ์ค‘๋ณต์ด ๋˜์–ด๋„ ์ˆœ์„œ๊ฐ€ ๋‹ค๋ฅธ ์ผ€์ด์Šค์ด๋ฉด ๋ชจ๋‘ ํฌํ•จ
   >>  (1,2,3) (1,3,2) ์กด์žฌ, ๋‹ค๋ฅธ ์˜๋ฏธ์ž„.

- combinations ์€ ์ค‘๋ณต ์—†์Œ

  >> (1,2,3)์™ธ์˜ ๊ฐ™์€ ์š”์†Œ ํฌํ•จ๋œ ๊ฒƒ ์—†์Œ

 

 

์ฒ˜์Œ ํ’€์ด (์ •๋‹ต O)

from itertools import permutations

list_height = []

for i in range(9):
    list_height.append(int(input()))

list_height.sort()

# sum(list) = > 1์ฐจ์› ๋ฆฌ์ŠคํŠธ์˜ ํ•ฉ์ž„.
for i in permutations(list_height, 7):  
    if(sum(i) == 100):
        print(i[0])
        print(i[1])
        print(i[2])
        print(i[3])
        print(i[4])
        print(i[5])
        print(i[6])
        break

 

 

๋” ๋‚˜์€ ํ’€์ด

from itertools import combinations

h = [int(input()) for _ in range(9)]
for i in combinations(h,7):
    if (sum(i) == 100):
        for j in sorted(i):
            print(j)

 

 

 

๊ทธ ์™ธ์˜ ํ’€์ด

์ด์ค‘ for ๋ฌธ / 9๋ช…์ค‘ 7๋ช…์„ ๋ฝ‘๋Š” ๊ฑด, 9๋ช… ์ค‘ 2๋ช…์„ ๋ฝ‘๋Š”๋‹ค๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์˜๋ฏธ์ด๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด, ์ด์ค‘ for๋ฌธ์„ ํ†ตํ•ด 2๋ช…์„ ๋ฝ‘๊ณ  ๊ทธ ์™ธ์˜ ๋‚œ์Ÿ์ด ํ‚ค ํ•ฉ์„ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค. 

N์ด 9์ด๊ธฐ ๋•Œ๋ฌธ์—, ํ• ๋งŒ ํ•˜๋‹ค.

 

 

๊ทธ ์™ธ์˜ ๋‚ด ์งˆ๋ฌธ ๋ฐ ๋ฉ˜ํ†  ๋‹ต๋ณ€ ์‚ฌํ•ญ

 

์งˆ๋ฌธ. ํŒŒ์ด์ฌ ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฆฌ์ŠคํŠธ ๋‚ด์—์„œ in ๊ฐ™์€ ๊ฑฐ๋‚˜, sort ๊ฐ™์€ ๋ฉ”์„œ๋“œ ์‚ฌ์šฉ์„ ํ•˜๋Š”๊ฑด
์‹œ๊ฐ„๋ณต์žก๋„์— ๊ณ ๋ ค๋ฅผ ํ•˜์ง€ ์•Š์•„๋„ ๋˜๋Š” ์ด์œ ๊ฐ€ ๋ญ”๊ฐ€์š”?
์ด๋ฏธ ์„ฑ๋Šฅ์ ์œผ๋กœ ์•„์ฃผ ๋นจ๋ผ์„œ ๊ทธ๋Ÿฐ๊ฐ€์š”?
๋‹ต๋ณ€. ๊ณ ๋ ค๋ฅผ ์•ˆํ•ด๋„ ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ด์ฌ ๋ฆฌ์ŠคํŠธ ์Šฌ๋ผ์ด์‹ฑ์€ ๊ทธ๋ƒฅ for๋ฌธ ์“ด ๊ฒƒ๊ณผ ๋˜‘๊ฐ™์€ ๋ฐฉ์‹์ด๋ผ O(N) ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์–ธ์–ด๋“ค์ด ๊ธฐ๋ณธ์œผ๋กœ ์ œ๊ณตํ•˜๋Š” ์ •๋ ฌ์€ ๋‹ค O(NlogN) ์ž…๋‹ˆ๋‹ค.

์งˆ๋ฌธ. ํ˜น์‹œ ๋ฐฑ์ค€ ํ’€๋•Œ, ๋‹ค๋ฅธ ide์—์„œ ์ถฉ๋ถ„ํžˆ ํ’€์–ด ๋ณธํ›„ ์™„์„ฑ๋œ ๊ฑฐ ๊ฐ™์€ ๋‹ต์•ˆ์„ ์ œ์ถœํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ, ๋ฐ”๋กœ๋ฐ”๋กœ ๋ฐฑ์ค€์—์„œ ํ‘ธ๋Š”๊ฒŒ ์ข‹๋‚˜์š”?
๋‹ต๋ณ€. ๊ทธ๋ƒฅ IDE์—์„œ ํ‘ธ๋Š”๊ฒŒ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ๋ฐฑ์ค€์—์„œ ๋ฐ”๋กœ ํ‘ธ๋Š” ์‚ฌ๋žŒ์€... ์—†์ง€ ์•Š์„๊นŒ์š”?

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€