๐ก ์กฐ๊ฑด ๋ฐ ํ์ด
- ์นด๋์ ์ฅ์๋
4 <= N <= 10
- ๊ฐ ์นด๋์ ์ซ์๊ฐ ์ ํ์๋ค.
1 <= ์ซ์ <= 99
N
๊ฐ์ ์นด๋ ์ค์์ K
๊ฐ์ ์นด๋๋ฅผ ๊ณจ๋ผ์ ๋ช ๊ฐ์ง ์๋ฅผ ๋ง๋ค ์ ์์๊น?
- ๋ธ๋ฃจํธํฌ์ค ์ ํ์ ๋ฌธ์
๐ฅ ์์ค ์ฝ๋
from sys import stdin
from itertools import permutations as p
arr = []
n, k = int(stdin.readline()), int(stdin.readline())
for i in range(n):
arr.append(int(stdin.readline()))
res = set()
for i in list(p(arr, k)):
res.add(''.join(list(map(str, i))))
print(len(res))
๐ ์์ ๋ฐ ์คํ๊ฒฐ๊ณผ
์์
6
3
72
2
12
7
2
1
์คํ๊ฒฐ๊ณผ
68
โจ๏ธ ๋ฌธ์ ํ์ด
from itertools import permutaions
permutations๋ผ๋ ์์ด ํจ์๋ฅผ ์ฌ์ฉํ๋ค.
๋ฆฌ์คํธ์ ๊ฐ์ ๋ฃ์ผ๋ฉด ๋ฆฌ์คํธ์์ ๊ทธ๋งํผ์ ๊ฐ์๋๋ก ์ซ์๋ฅผ ๊บผ๋ธ๋ค.
- ๋ฆฌ์คํธ์๋ ๊ฐ์ ์ซ์๋ ์กด์ฌํ๋ฉฐ, ์ถฉ๋ถํ ์์ด๋ก ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์์ ๋, ์ค๋ณต์ด ์กด์ฌํ๋ค.
- ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ set() ์๋ฃ๊ตฌ์กฐ๋ฅผ ๋ง๋ ํ
- for ๋ฌธ์ ์ฌ์ฉํด์ ์์ด๋ฆฌ์คํธ์ ์ฐจ๋ก๋๋ก ์ ๊ทผํ๋ฉด์, ๋ฌธ์์ด๋ก ๋ง๋ค์ด์ฃผ๋ฉด์ ํฉ์น๋ค.
- ํฉ์ณ์ง ๋ฌธ์์ด์ set() ์๋ฃ๊ตฌ์กฐ๋ก ๋ง๋ ๋ณ์์ ์ถ๊ฐํ๋ค.
- ์ค๋ณต์ผ๋ก ์ถ๊ฐ๊ฐ ๋์ง ์๋๋ค
- set() ๋ณ์์ ๊ธธ์ด๋ฅผ ์ฌ์ ์ถ๋ ฅ.
๐พ ๋๋์
- ์ฒ์์, ์์ด ๋ฆฌ์คํธ๋ก๋ง ๋ง๋ค์ด์ ๊ธธ์ด๋ฅผ ์๋ค. -> TLE
- ์์ด ๋ฆฌ์คํธ์ ์์ฐจ์ ์ผ๋ก ์ ๊ทผํด์ ๋ฌธ์์ด๋ก ๋ง๋ค์ด ์กฐํฉ์ ๋ณธ ๋ค
ํ์ด๋๊ฐ๋ ์์ด๋์ด, set() ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ ์์ด๋์ด๋ฅผ ๋ ์ฌ๋ฆฐ ๋ค
๋ฐ๋ก ํ์๋ค.
- ๋น๊ต์ ์ค๋ฒ ๋ฌธ์ ๊ฐ ์ฝ๊ณ ๊ฐ๋
์ ์๊ธฐ์ ์ข์ ๋ฌธ์ ๋ค์ด ๋ง์ ๊ฒ ๊ฐ๋ค.