3052 백준 풀이

chp9419·2021년 4월 15일
0

문제

두 자연수 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개가 있다.

접근방법

1.접근 방법은 어떻게 출력을 나열할것인가 생각했다.

2.테스트 케이스에 중복이 있기 때문에 어떻게 제거할것인가고민했다.

풀이

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

나열하는 부분은 빈 배열 변수 a를 받는다.

반복분에 10을 할당하여 N 변수 값을 10번 받고

테스트 케이스2에서 중복 값 있으니 set()함수로 중복을 제거한다!.

len()함수 이용으로 갯수를 출력해주면 끝이다!

profile
주어진 문제는 해결하고 공부하고 성장한다.

0개의 댓글