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์์ ํธ๋๊ฒ ์ผ๋ฐ์ ์
๋๋ค. ๋ฐฑ์ค์์ ๋ฐ๋ก ํธ๋ ์ฌ๋์... ์์ง ์์๊น์?
'CodingTest' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python]๋ฐฑ์ค 4344๋ฒ::ํ๊ท ์ ๋๊ฒ ์ง(round ์ "%.3f") (0) | 2021.04.29 |
---|---|
[Python]๋ฐฑ์ค 4673๋ฒ::์ ํ ๋๋ฒ (0) | 2021.04.29 |
[์ฝ๋ฉํ ์คํธ ์ค๋น ํ์!]๋ฐฑ์ค์ ํ ๋ ์์์ผํ Python ๋ฌธ๋ฒ! (0) | 2021.04.29 |
์๊ณ ๋ฆฌ์ฆ::์๊ฐ๋ณต์ก๋:: ๊ณต๊ฐ๋ณต์ก๋::์์ ํ์ (0) | 2020.10.17 |
c++ :: ์ฝํ ::๋ฐฑ์ค ์๊ณ ๋ฆฌ์ฆ ์ ์ง ํ๋ฉด์ -1 (0) | 2020.10.17 |
๋๊ธ