본문 바로가기
Python/코딩테스트

[Python] 프로그래머스 - 완주하지 못한 선수

by @sseyeon_ 2020. 12. 19.
반응형

 

ㅋㅋ 처음 코드는 정확성은 100인데 효율성에서 시간초과로 0점 나와서 ㅜㅜ 

 

고민고민하다가 

스택오버플로우랑 다른 블로그 좀 참조했다 ^^ㅎ 

 

리스트와 리스트를 합쳐서 딕셔너리를 만드려면 

zip() 함수를 사용해야 한다더라 !! 

 

무튼 처음의 코드는 정확히 기억은 안나지만 

[ 실패코드 ] 

def solution(participant, completion):
    answer = ''   
    
    for i in completion:
        if i in participant:
            participant.remove(i)
            print(participant)
    return participant[-1]

이런식으로 이런식으로 두 리스트를 비교하며 
완주자 이름이 참가자 명단에 있으면 
참가자 명단에서 완주자 이름을 하나씩 빼며 코드를 진행하였다.

( 정확성 100, 효율성 0인 코드 ㅋㅋ ㅜㅜ)

 

 

딕셔너리 공부해가면서 ,, 이리저리 혼란의 시간을 겪다가 결국 참고했다 !

[ 성공코드 ]

def solution(participant, completion):
    answer = ''   
    
    participant.sort()
    completion.sort()
    
    for par, com in zip(participant, completion):
        if par != com: # 동명이인이 없을 때
            return par
        
    return participant[-1] # 동명이인이 존재할 때

 

ychae-leah.tistory.com/24

 

[algorithm] level-1 완주하지 못한 선수 (python)

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

ychae-leah.tistory.com

 

반응형