프로그래머스 코딩테스트 문제를 풀고 있다.
https://programmers.co.kr/learn/courses/30/parts/12077
level1
def solution(participant, completion):
participant.sort()
completion.sort()
for i in range(0, len(completion)):
if participant[i] != completion[i]:
return participant[i]
return participant[len(participant)-1]
2021.12.09 추가
Counter를 사용하면 객체간의 빼기가 가능하다.
- Counter를 사용한 문제풀이
import collections
def solution(participant, completion):
answer = collections.Counter(participant) - collections.Counter(completion)
return list(answer.keys())[0]
Collections.Counter()
데이터의 객체를 셀 때 유용한 라이브러리.
보통 python에서 객체를 셀 때 dictionary를 활용하여 다음과 같이 구현한다.
record = dict()
for p in participant:
if record.get(p) == None:
record[p] = 1
else:
record[p] += 1
그런데 Counter 함수를 사용하면 한 줄로 끝낼 수 있다.
from collections import Counter
Counter(participant)
정렬도 가능하고
Counter('hello world').most_common()
뺄셈도 가능하다.
collections.Counter(participant) - collections.Counter(completion)
'algorithm > python' 카테고리의 다른 글
프로그래머스/스택,큐/탑 (0) | 2020.03.07 |
---|---|
프로그래머스/정렬/H-Index (0) | 2020.03.07 |
프로그래머스/정렬/K번째수 (0) | 2020.03.07 |
프로그래머스/정렬/가장 큰 수 [실패] (0) | 2020.03.06 |
프로그래머스/해시/전화번호 목록 (0) | 2020.03.05 |