프로그래머스 - 해시
# 완주하지 못한 선수
- 문자열 문제는 정렬부터 하고 보자.
def solution(participant, completion):
participant.sort()
completion.sort()
for par, com in zip(participant, completion) :
if par != com :
return par # 예시 1번
return participant[-1] # 예시 2번
# 예시 1번
A = ['a','b','b','c']
B = ['a','b','c']
zip(A, B) # [('a','a'), ('b','b'), ('b','c')] # 차이 발생
# 예시 2번 - 1
A = ['a','b','c','c'] # 마지막 값 (중복된 값이 맨 뒤에)
B = ['a','b','c']
zip(A, B) # [('a','a'), ('b','b'), ('c','c')]
# 예시 2번 -2
A = ['a','b','c'] # 마지막 값 (하나 다른 것이 맨 뒤에)
B = ['a','b]
zip(A, B) # [('a','a'), ('b','b')]
+ (GOOD) 풀이
- Point. 딕셔너리를 이용한 데이터 갯수 세기 -> collections 모듈
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
( collections : 참고 )
반응형
'알고리즘 > programmers' 카테고리의 다른 글
20210319_코테공부 (0) | 2021.03.19 |
---|---|
20210316_코테공부 (0) | 2021.03.16 |
20210312_코테공부 (0) | 2021.03.12 |
[ 프로그래머스 / 파이썬 ] 프로그래머스 LEVEL 1 풀이 (0) | 2021.03.04 |
[ 프로그래머스 / 파이썬 ] 프로그래머스 LEVEL 1 풀이 (0) | 2021.03.02 |