문제
코드
My answer
import sys
from itertools import permutations
input=sys.stdin.readline
n=int(input())
k=int(input())
card,result,tmp=[],set(),""
for i in range(n):
card.append(int(input()))
for i in permutations(card,k):
for j in i:
tmp+=str(j)
result.add(int(tmp))
tmp=""
print(len(result))
Another answer
from itertools import permutations
import sys
input = sys.stdin.readline
n, k = int(input()), int(input())
cards = [input().rstrip() for _ in range(n)]
res = set()
for per in permutations(cards, k):
res.add(''.join(per))
print(len(res))
풀이
내 코드와 아래코드 모두 동일한데 아래 코드는 join 함수를 이용해서 나 처럼 이중반복문이 아니라 단일반복문으로 구현했다.
728x90
반응형
'코딩테스트 > 백준[Python]' 카테고리의 다른 글
[Python] 백준 #3029- 경고 (0) | 2022.01.15 |
---|---|
[Python] 백준 #18511- 큰 수 구성하기[try_again] (0) | 2022.01.14 |
[Python] 백준 #1912 - 연속합 [try_again] (0) | 2022.01.12 |
[Python] 백준 #2407- 조합 (0) | 2022.01.11 |
[Python] 백준 #1806- 부분합[try_again] (0) | 2022.01.11 |