프로그래머스의 완주하지 못한 선수를 풀어보았다.
처음에는 간단하게 생각했었는데 계속 효율성 테스트에서 fail이 떠서 왜 이런지 고민해보았다.
step 1.
def solution(participant, completion):
for index, value in enumerate(completion):
if 1 == len(participant):
break
if completion[index] in participant:
participant.remove(completion[index])
answer = participant[0]
return answer
위에 코드는 처음에 푼 코드이다.
구글을 리서치 하다가 zip을 이용해서 푼 코드를 보고 다시 풀어보니 해결되었다.
step2.
def solution(participant,completion):
participant.sort()
completion.sort()
# print(list(zip(participant, completion)))
for participant_one, completion_one in zip(participant, completion):
if participant_one != completion_one :
print('participant', participant)
return participant_one
return participant[-1]
'프로그래밍 > 코딩테스트' 카테고리의 다른 글
Python의 itertools 알아보기 (0) | 2021.04.22 |
---|---|
프로그래머스 - K번째수 파이썬 구현 (0) | 2021.04.22 |