[Python] [백준 #3052] 나머지
📝문제
📝제출한 답
num = []
for i in range(0, 10):
num.append(int(input()) % 42)
num.sort()
temp = set(num)
print(len(temp))
📝결과
이번 문제는 시간이 오래 걸렸다. 처음부터 어떻게 풀지 바로 감이 잡혀 그리 방향을 잡고 쭉 나아갔는데 중간이 막혀 방황한 것이다.
처음 사고 방식은 이렇다.
- 나머지가 0인지 확인.
- 0이 아닐 경우 이미 있는 수인지 확인.
- Yes: 그대로, No: Count +=1
그랬는데... 변수처리부터 for문까지 도저히 감이 잡히지 않더라. 30분을 앉은 자리에서 고민하고 점심먹으며 고민하고 다시 30분을 플로우차트까지 그려가며 생각하다가 문득 그런 생각이 들었다.
'나 혹시 또 절차처리방식으로 생각하는거 아니야?'
공부했던 파이썬 파일을 뒤져보니 세상에나, 힌트를 얻었다.
set.
순서도 없고 중복도 없는 집합. 생각을 아예 갈아엎기로 했다.
- 나머지를 입력 받는다.
- 리스트에 넣는다.
- set으로 처리하여 중복된 나머지 제거한다.
- 길이를 출력한다.
깔끔해졌다. 이렇게 저 결과가 나왔다. 괜히 뿌듯해져서 길게 써봤다. 지금 보니 정렬은 왜 있는 거지.
Author And Source
이 문제에 관하여([Python] [백준 #3052] 나머지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@soogyeong0726/Python-백준-3052-나머지저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)