https://programmers.co.kr/learn/courses/30/lessons/42576
| 문제
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.
마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
| 제한사항
- 참가자 중에는 동명이인이 있을 수 있습니다.
(처음에 제한사항 제대로 읽지 않고 문제 풀어서 바로 테스트 틀렸다 ㅎ)
| 입출력 예
participant | completion | return |
[leo, kiki, eden] | [eden, kiki] | leo |
[marina, josipa, nikola, vinko, filipa] | [josipa, filipa, marina, nikola] | vinko |
[mislav, stanko, mislav, ana] | [stanko, ana, mislav] | mislav |
| 풀이
01. 실패 코드
정확성 테스트는 통과했는데 효율성 테스트에서 5개 모두 틀렸다 ㅠㅠㅠ
02. 성공 코드
구글링해서 찾아보니깐 잊고 있었던 zip 써서 풀었다...
sort 로 정렬한 담에 zip 써서 하나씩 꺼내서 똑같지 않다면 바로 리턴하면 된다.
| 학습 개념
list(zip([1, 2, 3], [4, 5, 6]))
[(1, 4), (2, 5), (3, 6)]
list(zip([1, 2, 3], [4, 5, 6], [7, 8, 9]))
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
list(zip("abc", "def"))
[('a', 'd'), ('b', 'e'), ('c', 'f')]
zip([1, 2, 3], [1, 2, 4])
[(1, 1), (2, 2), (3, 4)]
'Dev > 기타' 카테고리의 다른 글
JSON | 테스트용 dummy 데이터 JSON 만들기 (0) | 2020.05.03 |
---|