Love Every Moment

〔백준/파이썬〕3052번 나머지 본문

PROGRAMMING::LANGUAGE/Python

〔백준/파이썬〕3052번 나머지

해 송 2022. 6. 22. 20:14
반응형

 

출처

 

3052번: 나머지

각 수를 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
2
3
4
5
6
7
8
9
10
# 출력
10

 


 

풀이 - (1)

numbers = []
remainders = []
cnt = 10

for i in range(10) :
	numbers.append(int(input()))
	remainders.append(numbers[i] % 42)
for i in range(10) :
	for j in range(i) :
		if remainders[i] == remainders[j] :
			cnt -= 1
			break
print(cnt)

아직도 C 언어 버릇 못 버린거 티난다...

 

풀이 - (2)

remainders = []

for i in range(10) :
	number = int(input())
	remainders.append(number % 42)
remainders = set(remainders)
print(len(remainders))

 


 

노트

  • set(리스트) 를 통해 리스트를 집합 자료형으로 만들 수 있다
  • 집합의 특징은 (1) 중복을 허용하지 않고 (2) 순서가 없다 는 것이다
  • 따라서 중복을 허용하지 않는 특성 때문에 집합의 길이를 구하면 서로 다른 나머지들의 개수를 구할 수 있다

 

 

02-6 집합 자료형

[TOC] ## 집합 자료형은 어떻게 만들까? 집합(set)은 파이썬 2.3부터 지원하기 시작한 자료형으로, 집합에 관련된 것을 쉽게 처리하기 위해 만든 자료형이다. ...

wikidocs.net

 

반응형
Comments