[코딩테스트] 추억 점수

윤재환·2025년 1월 8일



해당 문제를 풀다 막혀서 다른 사람 풀이를 보았습니다.

해당 풀이에서 제가 처음밨고 이해 했던걸 미리 서술하고 작성하겠습니다.

zip() 함수:

  • 두 개 이상의 iterable 객체(리스트, 튜플 등)를 쌍(pair)으로 묶어줍니다.
  • 예제:
name = ['Alice', 'Bob', 'Charlie']
yearning = [85, 92, 78]

zipped = zip(name, yearning)
print(list(zipped))
  • 출력:
[('Alice', 85), ('Bob', 92), ('Charlie', 78)]

dist()함수:

  • (key, value) 쌍을 포함하는 iterable을 받아 딕셔너리로 변환합니다.
  • 예제:
pairs = [('Alice', 85), ('Bob', 92), ('Charlie', 78)]
info = dict(pairs)
print(info)
  • 출력:
{'Alice': 85, 'Bob': 92, 'Charlie': 78}

결합: dict(zip(name, yearning)):

  • zip(name, yearning)은 두 리스트의 요소를 순서대로 묶고,
  • dict()는 이 묶음을 키-값 쌍의 딕셔너리로 변환합니다.

append:
리스트(List) 자료형에서 새로운 요소를 리스트의 끝에 추가하는 메서드

변수.get(key, default):

  • key 찾으려는 키.
  • daefault: 키가 없을 때 반환할 기본값(선택사항, 생략하면 None)
  • 반환값: 딕셔너리에 키가 있으면 그 값, 없으면 기본값(default)을 반환.

완성된 코드

def solution(name, yearning, photo):
    answer = []
    info = dict(zip(name, yearning))
    
    for i in photo:
        
        score = 0
        
        for j in i:
            
            score += info.get(j, 0)
        answer.append(score)
    return answer
profile
백엔드 개발에 관심있는 1인

0개의 댓글