PROGRAMMERS Python Lv1. 완주하지 못한 선수 문제
이번 문제는 완주하지 못한 선수 문제입니다.
처음에 아래와 같은 코드로 채점을 했습니다.
def solution(participant, completion):
for i in range(0,len(completion)):
for j in range(0,len(participant)):
if completion[i] == participant[j]:
participant.remove(completion[i])
break
elif len(participant)==1:
break
answer = ''.join(map(str,participant))
return answer
정확성에는 맞았지만 효율성 점수는 0점이었습니다.
구글링을 통해 zip의 기능을 알게 되었고,
각각의 리스트를 매칭시켜 맞지 않는 것을
뽑아내면 된다는 것을 알았습니다.
따라서 마지막으로, 다음의 코드를 통해서 문제를 해결했습니다.
def solution(participant, completion):
participant.sort()
completion.sort()
for par, com in zip(participant, completion):
if par != com:
return par
return participant[-1]
혹시 제 풀이에 오류가 있거나
더 좋은 방법이 있다면 댓글 남겨주시면 감사드립니다.
댓글남기기