프로그래머스 해시. 완주하지 못한 선수 (파이썬)

ppm_Vely·2022년 6월 21일
0

코딩테스트

목록 보기
14/21

문제

시도1.

답은 맞지만 효율성 0...

그 이유는 participat의 마지막 요소가 return 값일 때 인것 같다.

for문을 다 돌아야 하는데 리스트 길이가 최대일 경우 연산 속도가 느려질 것이다.

그렇다면..!

해쉬를 공부해서 다시 풀어보자!

시도2 (정답)

hash 사용

기존 답변들을 보며 참고했다.

participant, completion 모두 hash를 진행한 후

(participant의 key값(index 값)의 합) - (compeltion key값의 합)

이 둘의 차이값은 완주하지 못한 사람의 key값이다. 이 값을 이용해 particpant에서 검색하면 된다!

hash를 사용했더니 역시 효율성이 올라가고 테스트 결과도 빨리 나온다.

시도3 (정답)

collections을 사용해다.

가장 좋아요도 많고 ,코드가 간결하고, collections는 중요하니까! 나도 시도해야지.

collections.Counter을 이용했다.
이렇게 깔끔하고, 짧고 효율성도 높을수가..

profile
오늘도 개발중인 ppm's Programming Log

0개의 댓글