[파이썬 코딩테스트] 2.추억 점수 - 프로그래머스

링크

내 풀이(O)

  • key에는 이름, value에는 점수가 입력된 dictionary를 만듬
  • 각각의 사진의 각각의 이름에 해당하는 점수를 합산
  • 앞서 정의한 dictionary에 없는 이름의 경우 오류가 발생하므로 if문 사용
def solution(names, yearnings, photos):
    answer = []
    people_dic = { nm: yearnings[idx] for idx, nm in enumerate(names) }

    for pt in photos:
        sum = 0
        for nm in pt:
            if nm in people_dic:
                sum += people_dic[nm]
        answer.append(sum)

    return answer

다른 풀이

  • dictionary를 만들 때 zip 함수를 사용
def solution(name, yearning, photo):
    dictionary = dict(zip(name,yearning))
    scores = []
    for pt in photo:
        score = 0
        for p in pt:
            if p in dictionary:
                score += dictionary[p]
        scores.append(score)
    return scores

links

social