코딩 테스트(Python)/백준, 프로그래머스
프로그래머스) 완주하지 못한 선수
5_hyun
2022. 4. 6. 21:02
반응형
https://programmers.co.kr/learn/courses/30/lessons/42576
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수
programmers.co.kr
내 풀이(힌트 보고 맞춤)
def solution(participant, completion):
answer = ''
participant.sort()
completion.sort()
for i in range(len(participant)):
if i > len(completion) - 1:
answer = participant[i]
break
if participant[i] != completion[i]:
answer = participant[i]
break
return answer
완주자 순회하면서 참가자에서 한 명씩 찾는 방법은 O(n) * O(n) = O(n2)
완주자, 참가자 리스트를 각각 정렬한 뒤 비교하는 방법으로 접근 O(n log n) + O(n log n) + O(n) = O(n)
따라서 정렬한 뒤 찾아야한다.
반응형