백준6603(파이썬) - 로또

resilient

·

2021. 6. 6. 11:52

728x90
반응형

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

 

6603번: 로또

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로

www.acmicpc.net

  • 이 문제는 파이썬으로 풀게 되면 combinations 함수를 사용하면 쉽게 풀리는 문제였다.
  • combinations는 조합 함수로 리스트와 정수값을 입력하면 리스트에서 정수값만큼 묶어서 나올 수 있는 모든 조합을 튜플형식으로 나타내주고 나는 다시 리스트 형식으로 바꿔서 받아왔다.
  • 출력할 때도 \n 를 사용했었는데 줄바꿈이 두번이 생겨서 보니까 ""로 구분해주면 원하는 출력형식으로 줄바꿈이 되었다.
from itertools import combinations,permutations
import sys
input = sys.stdin.readline

while True:
    num = list(map(int,input().split()))
    if num[0] == 0:
        break
    num.pop(0)
    a = list(combinations(num,6))
    for i in a:
        for j in range(len(i)):
            print(i[j],end=" ")
        print("")
    print("")

반응형