IT

백준 알고리즘 연습(파이썬) 3052번 나머지

rimicode 2022. 8. 1. 21:15
728x90
반응형
SMALL

2577번 숫자의 개수 문제와 비슷한 문제

 

문제

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

 

arr = [] # 빈 리스트 생성

for i in range(10): 
  n = int(input()) # n 입력받고
  arr.append(n%42) # 42로 나눈 나머지들 추가

arr = set(arr) # set로 집합 자료형으로 만들어주기, set 함수는 중복을 제거하기 위한 필터 역할
print(len(arr)) # 리스트 개수 출력

# 39
# 40
# 41
# 42
# 43
# 44
# 82
# 83
# 84
# 85
# 6
728x90
반응형
LIST