[백준] 6603 로또

Jin Lee·2022년 5월 13일
0
post-thumbnail

문제 링크

https://www.acmicpc.net/problem/6603

문제 설명

  • 파이썬은 유독 다른 언어에 비해 라이브러리가 많은 편이라 itertools를 쓰면 금방 해결 할 수 있다.
  • 하지만 코딩테스트에서 라이브러리가 막혀 있는 경우가 많기 때문에 재귀적으로 해결하는 방법도 알아야 한다.

코드(재귀)

import sys

def combi(step, start):
    if step == 6:
        print(*results)

    else:
        for i in range(start, n):
            if visit[i] == 0:
                results[step] = numbers[i]
                visit[i] = 1

                combi(step + 1, i + 1)
                visit[i] = 0

while True:
    numbers = list(map(int, sys.stdin.readline().split()))
    if numbers == [0]:
        break
    
    n = numbers[0]
    numbers.pop(0)

    results = [0] * 6
    visit = [0] * n
    tmp = []
    
    combi(0, 0)
    print()

추가로 할 것

  • 재귀로 순열, 중복 순열, 중복 조합 문제 풀기
profile
깃허브 : https://github.com/jinlee9270

0개의 댓글