Skip to content

Commit d9b1e3e

Browse files
committed
[BOJ] #2661. 좋은 수열 / 골드4 / 60분 / 실패
1 parent 7b7154e commit d9b1e3e

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import sys
2+
3+
input = sys.stdin.readline
4+
5+
# 좋은 수열인지 검사하는 함수 (유망성 검사 함수)
6+
def is_good(sequence):
7+
length = len(sequence)
8+
for i in range(1, length // 2 + 1):
9+
# 인접한 두 부분 수열이 동일한 경우 False
10+
if sequence[-i:] == sequence[-2 * i:-i]:
11+
return False
12+
return True
13+
14+
15+
def backtracking(sequence, n):
16+
# 종료 조건: 수열의 길이가 n이면 출력하고 프로그램 종료
17+
if len(sequence) == n:
18+
print(sequence)
19+
exit()
20+
21+
for num in "123":
22+
new_sequence = sequence + num # 새로운 수를 붙여봄
23+
if is_good(new_sequence): # 좋은 수열인지 확인
24+
backtracking(new_sequence, n) # 재귀 호출로 다음 수 탐색
25+
26+
n = int(input()) # 수열의 길이
27+
backtracking("", n)

0 commit comments

Comments
 (0)