728x90
https://www.acmicpc.net/problem/3052
3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
주어진 10개의 수를 42로 나누고 그 나머지중 중복되지않는 나머지의 갯수를 구하는 문제이다
# 3052번 문제 : 나머지
# 주어진 수와 42를 나누고 그 값이 총 몇개인지 구하는 문제이다 중복되는 숫자는 카운팅하지 않는다
count=[]
for i in range(10):
num = int(input())
count.append(int(num%42)) # 나눈값을 리스트에 저장
count=set(count) # 집합자료형으로 변환(집합자료형은 중복을 허용하지 않음)
count=list(count) # 중복이 제거된상태에서 다시 리스트형으로 변환
print(len(count)) # 리스트의 길이 즉, 중복되지않은 나머지갯수를 출력
처음엔 배열에 추가해서 중복되면 추가하지않는 방식을 채택하려 했으나 반복문이 많이 돌아갈거같아서 중복을 허용하지 않는 특징이 있는 집합 자료형을 이용해서 풀었다
728x90
'알고리즘' 카테고리의 다른 글
| 백준의 알고리즘 4344번 문제(python) (0) | 2021.06.27 |
|---|---|
| 백준의 알고리즘 8958번 문제(python) (0) | 2021.06.26 |
| 백준 알고리즘 2577번 문제(python) (0) | 2021.06.24 |
| 백준의 알고리즘 2775번 문제(python) (0) | 2021.06.18 |
| 백준의 알고리즘 9020번 문제(python) (0) | 2021.06.17 |