프로젝트 마무리하고 머리 식힐겸 쉬운문제
문제 보기: 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로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
새로 사용한 함수
set()
해당 함수를 사용하면 중복값을 제거해줘서 필터로 많이 사용되는 함수
문제는 쉬운데 해당 함수가 잘 기억이 안나서 찾아보고 코드를 구성함
풀이 과정
1. 내용을 보았을때 배열이 필요하다고 생각하여 배열선언
2. 10개의 숫자를 받으면서 바로바로 배열에 나머지를 계산해서 추가
3. set함수를 사용하여 중복값 제거
4. 중복값제거된 값의 길이로 원하는 답 도출
코드
numbers = []
b = 42
for i in range(1, 11):
a = int(input())
numbers.append(a % b)
sp = set(numbers)
print(len(sp))
'Algorithm' 카테고리의 다른 글
[백준_1932] 정수 삼각형 (0) | 2022.05.26 |
---|---|
[백준_1149] RGB 거리 (0) | 2022.05.25 |
[백준_9461] 파도반 수 (0) | 2022.05.20 |
[백준_1541] 잃어버린 괄호 (0) | 2022.05.19 |
[백준_9184] 신나는 함수 실행 (0) | 2022.05.18 |