https://programmers.co.kr/learn/courses/30/lessons/42576
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수
programmers.co.kr
처음 문제 풀때는 시간 효율성을 생각하지 않고 풀었다. 사실 시간효율성문제가 생길지도 몰랐다.
def solution(participant, completion):
for i in completion:
participant.remove(i)
answer="".join(participant)
return answer
테스트 케이스는 전부 맞았지만 효율성 테스트에서 다 실패라고 떴다.
그래서 위와 같이 다시 풀게 되었다.
def solution(participant, completion):
participant.sort()
completion.sort()
for i in range(len(completion)):
if participant[i] !=completion[i]:
return participant[i]
return participant[i+1]
정렬을 해준뒤 배열요소를 비교하는 풀이이다. 꽤나 간단하지만 생각하기 어려웠다.(구글링의 도움을 받음)
728x90
'파이썬알고리즘' 카테고리의 다른 글
20210701#(53) 백준 2231 분해합 (브루트포스) (0) | 2021.07.01 |
---|---|
20210701#(52) 백준 2798 블랙잭 (브루트포스) (0) | 2021.07.01 |
20210630#(50) 프로그래머스 k번째수 (0) | 2021.06.30 |
20210625#(49) 백준 15988 1, 2, 3 더하기 3 (다이나믹 프로그래밍) (0) | 2021.06.25 |
20210625#(48) 백준 2579 계단 오르기 (다이나믹 프로그래밍) (0) | 2021.06.25 |