2024. 5. 16. 12:19ㆍ코드리뷰
공부하는허딩크 : https://www.youtube.com/live/d04PXaSTIlQ?feature=shared
처음 이 문제를 접하고 문제를 해결하려고 시도 했다가 포기하고 다른 문제로 넘어갔다.
이후 백준에서 티어를 실버2를 만들고 다시 도전해 보았다.
조금 고민을 했지만, 2번의 시도 끝에 답을 찾을 수 있었다.
<첫번째 시도 : 19.2점>
한번에 통과 될 것으로 예상했지만 19.2점이 나와서 당황했다.
천천히 코드를 읽어보니 if의 조건이 잘못되었다는 걸 스스로 찾을 수 있었다.
만약 k와 score의 길이가 같을 경우 if는 무조건 참이 나와서 완벽한 정답이 나올 수가 없다.
<두번째 시도 : 통과>
첫번째 코드를 조금 수정해서 통과되었다.
어차피 기준은 k값이다. k값 만큼 score의 개수중에서 제일 작은 점수가 return되어야 한다.
단, k값과 score의 길이가 같다면 명예의 전당에는 모든 score들이 들어가게 되는 것을 찾아야 한다.
그리고 else:에서도 일단 각 숫자를 불러와서 오름차순으로 나열하고, 몇번째 숫자를 불러올지를 찾는걸 그림을 그리면서 찾을 수 있었다.
어떻게 슬라이싱을 할지, 어떤 조건을 넣을지 노트에 그리면서 고민을 했다. 예전에는 전혀 감도 잡히지 않던 문제들이 조금씩 잡히기 시작한다.
<다른사람 풀이 참고>
이 방법도 직관적이고 괜찮은 것 같다.
temp리스트를 초기화 해주고 len(temp) > k가 될때 까지 temp의 제일 작은 수를 temp와 answer에 append해준다.
그 다음 len(temp) < k일때 부터 temp에 들어오는 숫자들때문에 무조건 참이 됨으로 제일 작은 수를 빼주면
temp에는 숫자 3개만 남는다.
'코드리뷰' 카테고리의 다른 글
[python_파이썬_pass_에라토스테네스의체 알고리즘]백준_4134번_다음 소수_풀이 (0) | 2024.05.19 |
---|---|
[python_파이썬_pass]프로그래머스_LV0_특이한 정렬_풀이 (0) | 2024.05.17 |
[python_파이썬_pass]프로그래머스_LV1_콜라 문제_풀이 (0) | 2024.05.14 |
[python_파이썬_pass]프로그래머스_LV1_푸드 파이트 대회_풀이 (0) | 2024.05.14 |
★[python_파이썬_시간복잡도 고민 중요]백준_2485번_가로수_풀이 (0) | 2024.05.13 |