★VER5.0★해시★Collections.Counter★완주하지 못한 선수[프로그래머스]
2023. 6. 18. 14:14
728x90
반응형
https://school.programmers.co.kr/learn/courses/30/lessons/42576
VERSION 5.0
from collections import Counter
def solution(participant, completion):
a = Counter(participant)
b = Counter(completion)
answer = a-b
answer = list(answer.keys())[0]
return answer
VERSION 4.0
from collections import Counter
def solution(participant, completion):
answer = ''
participant = Counter(participant)
completion = Counter(completion)
a = participant - completion
answer = list(a.keys())[0]
return answer
VERSION 3.0
import collections
def solution(participant, completion):
participant = collections.Counter(participant)
completion = collections.Counter(completion)
return list((participant - completion).keys())[0]
==> list(hashDict.keys())[0] ==> key값들만 갖고 온거에서 제일 맨 앞에 애 꺼만(문제가 그렇다!)
print(*list(answer.keys()))
==> 리스트 컴프리엔션 해주면 리스트에 있는 key값들 다 나열된다
VERSION 2.0
hashDict = {}
sumHash = 0
participant = ["marina", "josipa", "nikola", "vinko", "filipa"]
completion = ["josipa", "filipa", "marina", "nikola"]
#HashMap이란 Key-Value의 Pair를 관리하는 클래스이다.
#Key는 hash한 값이 되겠고, Value는 각 선수의 이름으로 해둔다.
for part in participant:
hashDict[hash(part)] = part
print("hashDict : {}".format(hashDict))
sumHash += hash(part)
print("sumHash : {}".format(sumHash))
for comp in completion:
sumHash -= hash(comp) #hash의 key 값 제거한다.
print(hashDict[sumHash])
hash() ==> key값을 생성 시키는 함수이고
hashDict[hash()] ==> value 값을 생성시키는 함수이다.
Version 1.0 collections.Counter() 함수 활용
import collections
participant = ["marina", "josipa", "nikola", "vinko", "filipa"]
completion = ["josipa", "filipa", "marina", "nikola"]
a = collections.Counter(participant)
b = collections.Counter(completion)
print(a)
print(b)
print(a-b)
answer = a-b
print(list(answer.keys())[0])
collections 모듈의 Counter()함수는 너무 획기적이다.
728x90
반응형
'Python(프로그래머스) > 해시' 카테고리의 다른 글
★리스트★해쉬, 딕셔너리★할인 행사[프로그래머스] (0) | 2023.06.19 |
---|---|
★VER5.0★해시★Collections.Counter★폰켓몬[프로그래머스] (0) | 2023.06.18 |
VER3.0★문자열 리스트(정수형) 정렬할땐 맨앞에꺼 숫자에 따라 정렬된다.★리스트 시작★zip★startswith★전화번호목록[프로그래머스] (0) | 2023.05.29 |
★VER2.0★베스트엘범[프로그래머스] (0) | 2023.01.02 |
list(map(lambda x : x[1] , 리스트)) ==> 2중 리스트 뒤에값★VER2.0★zip★reduce★위장[프로그래머스] (0) | 2023.01.02 |