alpyrithm_알파이리즘
[알고리즘][Python] 백준(BOJ) 5568 카드 놓기_파이썬 본문
5568 카드 놓기 www.acmicpc.net/problem/5568
문제 풀기 전 공부할 것 : 자료 구조, 브루트포스 알고리즘, 재귀, 맵
풀이
<내용>
- 순열을 이용해서 해결할 수 있다.
- n개 중에서 k개를 뽑을 때, 순서에 따라서 다른 숫자를 만들 수 있으므로 순열을 이용해야 한다.
- 같은 숫자를 만들 경우를 대비해서 set을 이용한다.
<코드>
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))
728x90
반응형
'Algorithm > 백준 알고리즘_Python' 카테고리의 다른 글
[알고리즘][Python] 백준(BOJ) 3986 좋은 단어_파이썬 (0) | 2020.11.28 |
---|---|
[알고리즘][Python] 백준(BOJ) 2910 빈도 정렬_파이썬 (0) | 2020.11.27 |
[알고리즘][Python] 백준(BOJ) 12605 단어순서 뒤집기_파이썬 (0) | 2020.11.25 |
[알고리즘][Python] 백준(BOJ) 1992 쿼드트리_파이썬 (0) | 2020.11.24 |
[알고리즘][Python] 백준(BOJ) 2630 색종이 만들기_파이썬 (0) | 2020.11.23 |
Comments