반응형
s = input()
s = list(s)
su = len(s)
count = 0
alphabet = [0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0,0,0,0,0,
0]
for i in range(len(s)):
alphabet[ord(str(s[i])) - 97] += 1
def backtracking(l, p):
global count
if l == 0:
count += 1
for i in range(26):
if alphabet[i] > 0 and i != p:
alphabet[i] -= 1
backtracking(l-1, i)
alphabet[i] += 1
else:
pass
backtracking(su, -1)
print(count)
반응형
'코딩 이야기 > 백준 풀이' 카테고리의 다른 글
백준 11000번: 강의실 배정 파이썬 코드(우선순위 큐) (0) | 2021.07.13 |
---|---|
백준 1374번: 강의실 파이썬 코드(우선순위 큐) (0) | 2021.07.13 |
백준 1717번: 집합의 표현 파이썬 코드(유니온파인드, Union-find) (0) | 2021.07.10 |
백준 4485번: 녹색 옷 입은 애가 젤다지? 파이썬 코드(다익스트라) (0) | 2021.07.10 |
백준 1261번: 알고스팟 파이썬 코드(다익스트라) (0) | 2021.07.09 |