티스토리 뷰

반응형
 

3052번: 나머지

각 수를 42로 나눈 나머지는 39, 40, 41, 0, 1, 2, 40, 41, 0, 1이다. 서로 다른 값은 6개가 있다.

www.acmicpc.net

풀이

n = [int(input())%42 for i in range(10)]
print(len(list(set(n))))

 

수를 10개 입력받는다고 못 박아 놓았으므로, range 10은 자명하게 쓸 수 있다.

따라서 리스트 컴프리헨션을 통해 각각의 input()을 정수형으로 받아 출력해주면 된다.

 

이때, 서로 다른 값으로 만들어야 하므로 set으로 중복을 없애 주고 리스트로 만들어 세어주면 된다.

만약에 극한으로 코드를 줄이면 다음과 같이 쓸 수 있다.

 

print(len(list(set([int(input())%42 for _ in range(10)]))))

 

이때 _(언더스코어)는 값을 무시하고 싶을 때(for 문에서 i 나 j 같이 아무거나 들어가도 될 때) 쓸 수 있는 변수 기호이다.

반복문의 경우는 for _ in 과 같이 쓴다. 다양한 방면으로 쓸 수 있으니, 검색해보고 익혀두는 게 좋다.

반응형