- 문제 : 로또
- 난이도 : 실버 2
- 언어 : Python
- 문제 링크 : https://www.acmicpc.net/problem/6603
def pick(numbers, n, next_i):
global lst
if n == 6:
print(*lst)
return
for i in range(next_i, len(numbers)):
if visited[numbers[i]] == 0:
lst.append(numbers[i])
visited[numbers[i]] = 1
pick(numbers, n+1, i)
visited[numbers[i]] = 0
lst.pop()
visited = [0] * 50
while True:
lotto = list(map(int, input().split()))
if lotto[0] == 0:
break
lst = []
pick(lotto, 0, 1)
print()
오름차순으로 정렬된 순열을 뽑는 식.
로또번호는 49개 이므로 방문배열을 50까지 생성해놓은 후 풀이.
'BOJ' 카테고리의 다른 글
[백준 1260 / 파이썬 풀이] DFS와 BFS (0) | 2023.03.20 |
---|---|
백준 10815. 숫자 카드 [Python] (0) | 2022.06.10 |
백준 15657. N과 M (8) [Python] (0) | 2022.06.04 |
백준 15656. N과 M (7) [Python] (0) | 2022.06.04 |
백준 15655. N과 M (6) [Python] (0) | 2022.06.04 |