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

yunyoung·2021년 1월 4일
0

알고리즘

목록 보기
1/41
post-thumbnail

문제 설명

📃 문제 링크

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

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.

제한 사항

  • 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
  • completion의 길이는 participant의 길이보다 1 작습니다.
  • 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
  • 참가자 중에는 동명이인이 있을 수 있습니다.

문제 풀이

처음에는 완주하지 못한 선수가 단 한 명이라는 것을 보지 못해서 잘못 접근했었다. 두 배열을 비교했을 때 서로 다른 단 한 개의 값을 제외하고 나머지는 서로 같을 것이다. zip을 이용해도 되지만 간단하게 두 배열을 정렬한 후 같은 인덱스의 값을 서로 비교해주는 방법을 사용했다.

프로그래머스에서 무조건 처음에 주어진 answer 변수를 사용해야 되는 줄 알고, 아래처럼 바로 return 해주지 않고 answer 변수에 값을 할당해주었는데 그 과정에서 break문을 쓰지 않는 실수를 했었다.

같은 인덱스의 값을 비교하다가 값이 서로 다를 경우에는 바로 리턴해주고, 끝까지 갔는데 리턴이 되지 않았을 경우에는 마지막으로 남은 가장 마지막 인덱스의 값을 리턴해준다.

소스 코드carbon (1)

profile
🌈TIL과 개발 노트

0개의 댓글