We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent 7b7154e commit d9b1e3eCopy full SHA for d9b1e3e
minjeong/Backtracking/2024-10-15-[백준]-#2661-좋은수열.py
@@ -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