[BOJ/백준-Python]3052번 - 나머지

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

예제 입력 2

42
84
252
420
840
126
42
84
420
126

예제 출력 2

1

예제 입력 3

39
40
41
42
43
44
82
83
84
85

예제 출력 3

6

해결할 방법을 생각해보자.💡

10줄에 거쳐 값을 입력 받기 때문에 반복문을 사용해서 정수를 받아야한다. 다만, 그 입력받는 값들을 42로 나누고 나머지를 리스트와 같은 연속적인 형태의 자료구조에 넣어줘야한다. 따라서 빈 리스트를 하나 만들어준다.

num_list = []

그리고 10번 반복해서 정수를 받고 그 정수를 42로 나누고 남은 나머지를 만든 빈 리스트에 넣어준다.

for i in range(10):
    N = int(input())
    n = N % 42
    num_list.append(n)

이제 여기가 이 문제의 핵심이라고 볼 수 있다.

나머지들은 같은 값을 갖거나 제각각 다른 값을 가질 수도 있다. 그것을 어떻게 구할 수 있을까?

바로 집합(Set)를 사용하면 된다. 리스트형 자료를 집합으로 바꿔주면 중복되는 값들은 사라지고 유일한 값 하나만 남는다.

예를 들어, [1, 3, 2, 5, 5, 1]과 같은 배열을 집합화해버리면, {1,2,3,5} 와 같은 형태로 나오게 된다.(자동 정렬도 해줌)

따라서 set()로 리스트형태를 감싸주면 해결된다.

A = set(num_list)

그러면 여기서 그대로 A를 출력하면 set형(중괄호) 자료구조가 나오게 된다. 우리가 구해야 하는 것은 값들의 개수이므로, len()로 길이를 구해서 출력해주면 해결된다.

print(len(A))

코드💻

import sys
input = sys.stdin.readline

num_list = []
for i in range(10):
    N = int(input())
    n = N % 42
    num_list.append(n)
    
A = set(num_list)
print(len(A))

해결 로그

문제 푼 날짜 체크
2022-03-14
   
   
   
   

2022

[web]jQuery 복습 3

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

13 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

14 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

5 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

10 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑