algorithm/프로그래머스

[프로그래머스] 연습문제(LV1) : 추억 점수

Don't stop 훈 2023. 10. 28. 15:31

<문제출처>

https://school.programmers.co.kr/learn/courses/30/lessons/176963

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

<고민 끄적끄적>

dict()를 활용하여 {사람이름 : 그사람에 대한 추억점수}를 구한다.

각 사진을 순회하며 사진속에 있는 사람의 추억점수를 모두 더해준다.
단, dict()배열에 특정 사람이 없는 경우가 있을 수 있기 때문에 조건문을 활용해서 이름이 있는 경우에만 점수를 더해준다. (이름이 없으면 0점이기 때문에 더해주지 않아도 됨)

 

 

최종코드

# 산진별로 추억점수를 구한다.
# 사진 속 인물의 그리움 점수를 모두 합산한 값이 추억점수

def solution(name, yearning, photo):
    answer = []
    
    d = dict()
    for i in range(len(name)):
        d[name[i]] = yearning[i]
    
    for parr in photo:
        score = 0
        for p in parr:
            
            if p in d:
                score += d[p]
                
        answer.append(score)

    return answer