6603번: 로또
입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로
www.acmicpc.net
단순히 입력받은 집합 중에서 6개만 조합하여 출력하면 되는 문제.
import sys
input = sys.stdin.readline
from itertools import combinations
while True:
srr=list(map(int,input().split()))
k=srr[0]
if k==0: break
ans=list(combinations(srr[1:],6))
for i in range(len(ans)):
print(' '.join(map(str,ans[i])))
print(" ")
itertools 패키지의 combinations를 사용(조합)
테스트 케이스가 끝나는 조건도 적어줌
출력할 때 튜플째로 출력하는 것이 아닌 숫자 사이 띄우면서 출력해야하므로 join 사용
join사용할때 숫자면 안됨... map으로 str타입으로 변형
'Koala - 12기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[프로그래머스/Java] 타겟 넘버 (0) | 2023.09.10 |
---|---|
[백준/C++] 1436 영화감독 숌 (0) | 2023.09.10 |
[백준/C++] 18111번: 마인크래프트 (0) | 2023.09.10 |
[백준/python3] 14888번 : 연산자 끼워넣기 (0) | 2023.09.09 |
12기 코딩테스트 스터디 출석부 (0) | 2023.09.05 |