[프로그래머스_Lv1] 추억 점수

ybk·2025년 2월 24일
0

프로그래머스

목록 보기
243/245

Lv.1) 추억 점수


문제 설명 📝


입출력 예시 📌

nameyearningphotoresult
["may", "kein", "kain", "radi"][5, 10, 1, 3][["may", "kein", "kain", "radi"],["may", "kein", "brin", "deny"], ["kon", "kain", "may", "coni"]][19, 15, 6]
["kali", "mari", "don"][11, 1, 55][["kali", "mari", "don"], ["pony", "tom", "teddy"], ["con", "mona", "don"]][67, 0, 55]
["may", "kein", "kain", "radi"][5, 10, 1, 3][["may"],["kein", "deny", "may"], ["kon", "coni"]][5, 15, 0]

코드 풀이 💡

def solution(name, yearning, photo):
    answer = []
    name_dict = dict(zip(name, yearning))
    
    for p in photo:
        total = 0
        for person in p:
            total += name_dict.get(person, 0)
        answer.append(total)
    return answer

🔍 코드 설명

  • zip을 사용하여 두 리스트를 (key, value) 형태의 튜플로 묶고 dict()로 딕셔너리로 변환합니다.
  • dict에서 해당 이름의 값을 가져오기 위해 name_dict.get()으로 가져옵니다.

다른 사람의 풀이 ✨

def solution(이름, 점수, 사진):
    return [sum(점수[이름.index(j)] for j in i if j in 이름) for i in 사진]

✅ 다른 풀이의 특징

  • 리스트 컴프리 헨션을 사용해서 사진을 가져오고 이름을 가져와서 이름에 해당하는 인덱스를 사용해서 점수를 더합니다.

🔗 프로그래머스 문제 링크

profile
개발자 준비생~

0개의 댓글

관련 채용 정보