문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
풀이
a=set()
for i in range(10):
a.add(int(input())%42)
print(len(a))
a=set() set은 집합을 선언하며, {} 형태로 저장된다. 중복되는 나머지 값은 1개로 고려되므로 집합을 선언하도록 하였다.
for i in range(10):
a.add(int(input())%42)
집합에서는 add()를 통해서 집합 요소를 추가할 수 있다. input()을 통해 받은 값을 int()로 정수 처리하고, 42로 나눈 나머지 값을 추가하였다. 이 때 중복되는 나머지 값들은 모두 1개로 처리된다.
오답노트
집합을 사용할 때 set() 함수를 잊고 있었다. a=set()으로 기억하자.
'파이썬 > 파이썬 알고리즘' 카테고리의 다른 글
파이썬 코드업 6022번 6022 : [기초-입출력] 연월일 입력받아 나누어 출력하기(설명)(py) (0) | 2021.04.01 |
---|---|
파이썬 코드업 6021번 6021 : [기초-입출력] 단어 1개 입력받아 나누어 출력하기(설명)(py) (0) | 2021.04.01 |
파이썬 코드업 6020번 6020 : [기초-입출력] 주민번호 입력받아 형태 바꿔 출력하기(py) (0) | 2021.03.31 |
파이썬 코드업 6019번 6019 : [기초-입출력] 연월일 입력받아 순서 바꿔 출력하기(py) (0) | 2021.03.31 |
파이썬 코드업 6018번 6018 : [기초-입출력] 시간 입력받아 그대로 출력하기(설명)(py) (0) | 2021.03.31 |
댓글