https://www.acmicpc.net/problem/6603
6603번: 로또
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로
www.acmicpc.net
나의 코드
while True:
k, *S = map(int, input().split())
if k == 0:
break
def backtracking(length, ans):
if length == 6:
print(*ans)
return
else:
for i in range(length, k):
if ans and ans[-1] >= S[i]:
continue
backtracking(length+1, ans+[S[i]])
backtracking(0, [])
print()
결과

암호만들기와 비슷한 문제였는데 아직은 부족한가보닼ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 되게 금방 큰 틀은 짰는데 else에서 조건문을 안줘서 에러가 난듯했다. 이런 문제 한 번만 더 풀면 이제 재귀로 조합을 짜고 출력하는 건 마스터 할 수 있을듯!
'스터디 1일 1커밋' 카테고리의 다른 글
| 240410 [BOJ/백준] 18352. 특정 거리의 도시 찾기 (0) | 2024.04.10 |
|---|---|
| 240408 [BOJ/백준] 7576. 토마토 (0) | 2024.04.08 |
| 240408 [BOJ/백준] 14940. 쉬운 최단거리 (0) | 2024.04.08 |
| 240407 [BOJ/백준] 1759. 암호 만들기 (1) | 2024.04.07 |
| 240407 [BOJ/백준] 2908. 상수 (0) | 2024.04.07 |