3052번: 나머지
각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.
www.acmicpc.net
이전 풀이
https://dmaolon00.tistory.com/10
[백준_python] count, 런타임 에러 (ValueError), set( ), dictionary || 2577, 3052
count( ) : 문자열에서 쓰이는 메서드(클래스 안에 있는 함수)입니다. 내부에 찾을 문자를 넣고, 추가적으로 찾을 곳의 시작과 끝을 넣어주기도 한다.(넣지 않는 경우, 전체 탐색) set( ) : 집합 함수,
dmaolon00.tistory.com

#나머지_3
num = []
result = []
for i in range(10):
x = int(input()) % 42
num.append(x)
if(x not in result):
result.append(x)
print(len(result))
입력받은 수를 나눈 나머지를 num이라는 리스트에 담아주며, result에 존재하는지를 not in을 이용하여 확인해주었다.
존재하지 않는다면, 값을 삽입해주어 최종적으로 result의 길이를 구해주어 결과값을 구하였다.
이전 풀이를 확인해보니, 중복되지 않고 순서가 없다라는 특징을 가진 set이라는 자료형을 이용하였다.
또, dictionary라는 자료형을 이용하여 해당 key 값에 따라 value를 넣어주며 최종적으로 dictionary의 길이를 구해주었다.
not in이라는 연산자를 이용해주는 것만 생각했었는데 set과 dictionary도 이용할 수 있음을 깨달았다. 특히 잊고 있었던 dictionary를 앞으로 자주 이용해주어야 겠다.!
반응형