1342번: 행운의 문자열
민식이와 준영이는 자기 방에서 문자열을 공부하고 있다. 민식이가 말하길 인접해 있는 모든 문자가 같지 않은 문자열을 행운의 문자열이라고 한다고 한다. 준영이는 문자열 S를 분석하기 시작
www.acmicpc.net
코드
s = input()
lucky = set()
visited = [False]*len(s)
def bt(string):
if len(string) == len(s):
lucky.add(string)
return
for i in range(len(s)):
if not visited[i] and (not string or string[-1] != s[i]):
visited[i] = True
bt(string+s[i])
visited[i] = False
bt('')
print(len(lucky))
'문제풀이 > 백트래킹' 카테고리의 다른 글
[Python/파이썬] 백준 20950번 미술가 미미 (0) | 2024.02.24 |
---|---|
[Python/파이썬] 백준 1799번 비숍 (0) | 2024.02.13 |
[Python/파이썬] 백준 20208번 진우의 민트초코우유 (0) | 2024.02.07 |
[Python/파이썬] 백준 18429번 근손실 (0) | 2024.01.15 |
[Python/파이썬] 백준 16198번 에너지 모으기 (0) | 2024.01.03 |
1342번: 행운의 문자열
민식이와 준영이는 자기 방에서 문자열을 공부하고 있다. 민식이가 말하길 인접해 있는 모든 문자가 같지 않은 문자열을 행운의 문자열이라고 한다고 한다. 준영이는 문자열 S를 분석하기 시작
www.acmicpc.net
코드
s = input() lucky = set() visited = [False]*len(s) def bt(string): if len(string) == len(s): lucky.add(string) return for i in range(len(s)): if not visited[i] and (not string or string[-1] != s[i]): visited[i] = True bt(string+s[i]) visited[i] = False bt('') print(len(lucky))
'문제풀이 > 백트래킹' 카테고리의 다른 글
[Python/파이썬] 백준 20950번 미술가 미미 (0) | 2024.02.24 |
---|---|
[Python/파이썬] 백준 1799번 비숍 (0) | 2024.02.13 |
[Python/파이썬] 백준 20208번 진우의 민트초코우유 (0) | 2024.02.07 |
[Python/파이썬] 백준 18429번 근손실 (0) | 2024.01.15 |
[Python/파이썬] 백준 16198번 에너지 모으기 (0) | 2024.01.03 |