728x90
*문제 출처는 프로그래머스에 있습니다.
문제 제목: 완주하지 못한선수
문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/42576
나의 풀이(틀림)
def solution(participant, completion):
new_list = list(set(participant) - set(completion))
for x in new_list:
return x
나의 함수는 동명이인이 있는 경우는 고려되지 않는 잘못된 함수이다..
다른 풀이
def solution(participant, completion):
participant.sort()
completion.sort()
for p,c in zip(participant, completion):
if p != c:
return p
return participant.pop()
* zip함수는 두 요소의 길이가 다르면 같은 것 끼리 짝지어준다.
다른 사람의 풀이에서 가장 좋아요를 많이 받은 답변은 collections였다.
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
https://sulmasulma.github.io/algorithm/2020/05/12/collections.html
※ 알아야 할 것
* zip함수는 두 요소의 길이가 다르면 같은 것 끼리 짝지어준다.
728x90
'coding test - python > Programmers' 카테고리의 다른 글
Programmers / 로또의 최고 순위와 최저 순위 / Python (0) | 2022.04.08 |
---|---|
Programmers / 숫자 문자열과 영단어 / Python (0) | 2022.04.08 |
Programmers / 부족한 금액 계산하기 / Python (0) | 2022.04.07 |
Programmers / 3진법 뒤집기 / Python (0) | 2022.04.07 |
Programmers / 최소직사각형 / Python (0) | 2022.04.07 |