[Python3] 프로그래머스 추억점수 (dictionary, zip())

민갱·2023년 6월 19일

CT

목록 보기
10/35

zip() 함수를 가지고 딕셔너리 두개의 벨류를 키와 벨류로 구분해서 한개의 딕셔너리로 만드는 함수가 있다는 것을 공부 했다.
처음에는 함수 없이 직접 합쳤지만 함수가 간단하게 만들어줘서 편리하다.
그리고 get이라는 함수가 또 유용하게 쓰일것같다.
추억 점수

def solution(name, yearning, photo):
    answer = []
    
    dict0 = {i:name for i,name in enumerate(name)}
    dict2 = {name:i for i,name in enumerate(name)}
    
    for i in range(len(yearning)):
        dict2[dict0[i]] = yearning[i]
    
    # =====> 같다...
    {'may': 5, 'kein': 10, 'kain': 1, 'radi': 3}
    
    info = dict(zip(name, yearning))
    
    for people in photo:
        add =0
        for person in people:
            # 5. 사람 별 점수를 누적, 없는 사람은 0
            print('===>',info.get(person))
            add += info.get(person, 0)
        answer.append(add)    
info.get(person, 0)
  • info 딕셔너리 에서 키가 person이 있으면 키가 person인 벨류를 반환하고 없으면 두번째 요소 0을 반환한다.
profile
가보자고

0개의 댓글