6603 : 로또

서희찬·2021년 12월 26일
0

백준

목록 보기
80/105
post-thumbnail

문제

코드

#6603 :로또
from itertools import combinations

while True:
    lotto = list(input().split())

    if (lotto[0]=='0'): #종료  
        break 
    del lotto[0]
    lottos = list(map(' '.join,combinations(lotto,6)))
    for lottoss in lottos:
        print(lottoss)
    print()

풀이

순열을 사용하는 문제이다.
순열..조합..아 조합이겠다 콤비네이션이니깐 하-핫
순열이랑 조합 파이썬에서 라이브러리로 사용하는법에 익숙해져야겠다
우선, lotto를 입력받는데 int형으로 받으면 원하는 출력형태를 join으로 사용하지 못하므로
str로 입력받아 리스트에 넣었다.

그리고 0번째에는 총 몇개의 숫자가 있는지가 입력되는것이므로
이는 0이 있냐를 체크하고는 필요없는 값이므로 조건검사후 삭제해줘서
lotto리스트 안에는 로또예상 번호 집합만 있다.
그러므로 그 이후의 값을 출력형태에 맞춰 lottos안에 넣고
포문을 돌면서 출력해주었다.

헤멘곳..

조건검사에서 str인 '0'을 검사해야하는데 int인 0으로 계속 검사진행해서
와일문이 끝나지 않았었다..!
자료형을 잘보자 !

profile
부족한 실력을 엉덩이 힘으로 채워나가는 개발자 서희찬입니다 :)

0개의 댓글