본문 바로가기
코딩테스트/백준 알고리즘

백준 알고리즘 | 3052 : 나머지 (Python / 파이썬)

by 함께 공부해요 2020. 9. 19.


나머지 성공출처다국어분류

시간 제한

메모리 제한

제출

정답

맞은 사람

정답 비율

1 초

128 MB

35199

21312

19067

62.099%

https://www.acmicpc.net/problem/3052

 

3052번: 나머지

39, 40, 41, 42, 43, 44, 82, 83, 84, 85를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 모두 6개가 있다.

www.acmicpc.net


문제

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

입력

첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.

출력

첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.

알고리즘 분류

수학

사칙연산


 

백준 알고리즘 # 3052번 : 나머지

n = []

for _ in range(10):
    a = int(input())
    b = a % 42
    n.append(b)

s = set(n)
print(len(s))

풀이

변수 n을 list로 설정하고 for문으로 0부터 9까지 반복해준다.

그 안에서 a 변수로 정수를 입력받고

b 변수로는 입력받은 정수에 42를 나눈 나머지 값을 넣어준다.

이것을 리스트로 설정해둔 n에 append해주면

n = [39, 40, 41, 0, 1, 2, 40, 41, 0 ,1]

위와 같이 저장된다.

그리고 n에 저장된 자료형의 중복을 제거해주기 위해 set 함수를 이용하면

s = [0, 1, 2, 39, 40, 41]

위와 같이 저장된다.

마지막으로 len 함수를 이용해서 리스트 s의 길이를 출력하면 끄-읏👏

자세한 코드가 궁금하신 분들은 아래 GitHub 참고해주세요🙏

 

wook2124/Algorithm

Practice algorithm. Contribute to wook2124/Algorithm development by creating an account on GitHub.

github.com

최종 소스코드

댓글