취미가 좋다
[215] C - One More aab aba baa 본문
https://atcoder.jp/contests/abc215/tasks/abc215_c
C - One More aab aba baa
AtCoder is a programming contest site for anyone from beginners to experts. We hold weekly programming contests online.
atcoder.jp
Solution
from itertools import permutations
s, k = input().split(' ')
a = set([])
for i in permutations(s, len(s)):
a.add(i)
a = list(a)
a.sort()
k = int(k) - 1
print(''.join(a[k]))
- 문자열 s와 순서 k를 가져오고, set을 선언한다.
- 같은 길이의 순열을 만들면서 set에 넣는다.
- set을 리스트로 바꿔서 정렬하고, k번째 문자열을 출력한다.
itertools
import itertools
chars = ['A', 'B', 'C']
p = itertools.permutations(chars, 2) # 순열
c = itertools.combinations(chars, 2) # 조합
print(list(p)) # [('A', 'B'), ('A', 'C'), ('B', 'A'), ('B', 'C'), ('C', 'A'), ('C', 'B')]
print(list(c)) # [('A', 'B'), ('A', 'C'), ('B', 'C')]
python에서 순열과 조합을 쉽게 찾을 수 있는 함수이다.
2번째 인자는 만들 조합의 길이이다.
permutations는 지정하지 않으면 첫 번째 인자로 받은 변수의 길이가 default로 설정되고, combinations는 필수로 설정해야 한다.
'알고리즘 문제풀이 > AtCoder' 카테고리의 다른 글
[215] D - Coprime 2 (0) | 2021.08.24 |
---|
Comments