1. 문제
https://school.programmers.co.kr/learn/courses/30/lessons/42576
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2. 풀이
2-1) parti 라는 dict을 하나 구상한다.
2-2) 각 사람이름 마다 1씩 할당해주면서 dict 구성하고,
2-3) 이제 완주 목록 돌리면서 dict 하는데 오류뜨면 한사람만 완주못했기 때문에 그사람, 만약 전체 잘돌아가면 dict value 중에 1이라도 남은 동명이인이 완주못한 경우임
2-4) 그래서 k, v 바꿔서 1인거 찾아내기!!
## code ##
import collections
def solution(participant, completion):
answer = ''
participant = sorted(participant)
completion = sorted(completion)
parti = collections.defaultdict(int)
for i, person in enumerate(participant):
parti[person] += 1
for person in completion:
try:
parti[person] -= 1
except:
answer = person
break
if answer == '':
parti = {v:k for k, v in parti.items()}
answer = parti[1]
return answer
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 게임 맵 최단거리 (0) | 2024.04.10 |
---|---|
[프로그래머스] 의상 (0) | 2024.04.09 |
[Programmers] 코딩테스트 연습 > Hash > 전화번호 목록 (0) | 2023.03.30 |
[Programmers] 연습문제 > 공원산책 (0) | 2023.03.29 |
[Programmers] 연습문제 > 옹알이(1) (0) | 2023.03.28 |