업데이트:

❓ 문제


두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다.
예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다.
그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.

>  입력


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

>  출력


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

✔️ 풀이


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# set() 사용
a = set([int(input()) % 42 for _ in range(10)])
print(len(a))

# set() 사용 X
a = [int(input()) for _ in range(10)]
b = [0] * (max(a)+1)
c = 0

for aa in a:
    b[aa % 42] += 1

for bb in b:
    if bb:
        c += 1

print(c)

중복 값을 없애주는 set()을 사용하는 방법과 사용하지 않는 방법으로 풀어보았다.

💬 평가


Notice: 이 게시물은 백준 사이트를 참고하였습니다.

댓글남기기