본문 바로가기
메모장/코딩테스트 준비

파이썬 - 추첨결과 - 코딩테스트 - 참고용

by code2772 2023. 4. 7.

[ 목차 ]

    728x90
    반응형
    if __name__ == "__main__":
        # 입력 받기
        n = int(input())  # 당첨시킬 응모권의 수
        numbers = list(map(int, input().split()))  # 추첨함 속 응모권에 적혀 있는 회원번호 리스트
    
        # 중복 제거를 위해 set 사용
        unique_numbers = set(numbers)
    
        # 추첨 대상으로 인정할 회원번호들을 담을 리스트
        winners = []
    
        # 추첨 대상으로 인정된 회원번호들을 winners 리스트에 추가
        for num in unique_numbers:
            if numbers.count(num) <= n:
                winners.append(num)
    
        # 오름차순으로 정렬
        winners.sort()
    
        # 결과 출력
        output_type = input("출력할 형식을 선택하세요 (1: 리스트, 2: 공백으로 구분된 문자열): ")
        if output_type == "1":
            print(winners)  # 리스트 형식으로 출력
        elif output_type == "2":
            print(" ".join(map(str, winners)))  # 공백으로 구분된 문자열로 출력
        else:
            print("올바른 형식을 선택하세요.")  # 유효하지 않은 형식 선택 시 메시지 출력

    1. 당첨될 복권의 수(n)와 복권함에 있는 복권에 적힌 회원번호 목록(numbers)을 입력받는다.
    2. 집합을 사용하여 '숫자' 목록에서 중복 항목을 제거
    3. 주어진 'n' 값에 대해 '숫자' 목록에서 개수를 확인하여 복권에 적합한 구성원 번호를 식별
    4. 자격이 있는 회원 번호는 '우승자' 목록에 저장되고 오름차순으로 정렬


    사용자에게 출력 형식(목록 또는 공백으로 구분된 문자열)을 선택하라는 메시지를 표시하고 print 문과 join 메서드를 사용하여 선택한 형식으로 승자 인쇄






    반응형