취미가 좋다

[215] C - One More aab aba baa 본문

알고리즘 문제풀이/AtCoder

[215] C - One More aab aba baa

benlee73 2021. 8. 23. 16:18

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