본문 바로가기

Algorithm/자료구조

(Python3) - 프로그래머스(연습문제): 추억 점수

반응형

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

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

hashmap을 사용해본 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

1. 정답변수 answer 선언 후 빈 배열로 초기화합니다.

2. name, yearning을 각각 key, value로 name_yearning_dict를 선언 후 빈 객체로 초기화합니다.

 

3. name에 대해 loop를 수행하며 name별 그리움을 저장합니다.

📔 풀이과정

photo에 대해 2차원 for loop를 수행하면서 다음을 진행합니다.1. 행마다 name_yearning_dict에 없는 이름이라면 0을 아니라면 해당 그리움을 누적해 더해줍니다. 

 

2. 누적해 더해진 값을 answer에 추가합니다. 

📔 정답 출력 | 반환

answer를 반환합니다.


📕 Code

📔 Python3

def solution(name, yearning, photo):
    answer = []
    name_yearning_dict = {}
    for i in range(len(name)):
        name_yearning_dict[name[i]] = name_yearning_dict.get(name[i],yearning[i])
    for p in photo:
        y = 0
        for name in p:
            y += name_yearning_dict.get(name,0)
        answer.append(y)
    return answer

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.