[백준3052/Python] 나머지

    반응형
    SMALL

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

    문제

    두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 

    수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

    입력

    첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.

    출력

    첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

    예제 입력 1 복사

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    

    예제 출력 1 복사

    10
    

    각 수를 42로 나눈 나머지는 1, 2, 3, 4, 5, 6, 7, 8, 9, 10이다.

    예제 입력 2 복사

    42
    84
    252
    420
    840
    126
    42
    84
    420
    126
    

    예제 출력 2 복사

    1
    

    모든 수를 42로 나눈 나머지는 0이다.

    예제 입력 3 복사

    39
    40
    41
    42
    43
    44
    82
    83
    84
    85
    

    예제 출력 3 복사

    6
    

    각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

    풀이

    n 요소별 나머지를 result 리스트에 추가

    set()으로 중복 제거 후 길이 구하기

    코드

    n = [int(input()) for _ in range(10)]
    result = []
    for a in n:
        r = a % 42
        result.append(r)
    
    set_result = list(set(result))
    print(len(set_result))

    --

    반응형

     

    반응형
    LIST

    'Algorithm > 백준' 카테고리의 다른 글

    [백준2525/Python] 오븐 시계  (2) 2025.02.05
    [백준10811/Python] 바구니 뒤집기  (0) 2025.02.05
    [백준5597/Python] 과제 안 내신 분..?  (0) 2025.02.04
    [백준10810/Python] 공 넣기  (0) 2025.02.04
    [백준10951/Python] A + B - 4  (0) 2025.02.04

    댓글