https://school.programmers.co.kr/learn/courses/30/lessons/176963
프로그램 제작자
코드 중심 개발자를 고용하십시오. 스택 기반 위치 일치. 프로그래머를 위한 개발자별 프로필에 가입하고 기술 호환성이 좋은 회사와 연결하십시오.
프로그래머.co.kr
문제 설명
사진을 보며 추억에 잠긴 루는 사진마다 추억을 채점하고 있다.
사진 속 인물들의 향수 점수의 합이 사진의 기억력 점수가 된다.
예를 들어, 사진에 있는 사람들의 이름이 (“may”, “kein”, “kain”)이고 각 사람의 향수 점수가 (5점, 10점, 1점)이면 해당 사진의 메모리 점수는 16(5점) + 10 + 1)점. 다른 사진 속 인물의 이름은 (“칼리”, “마리”, “돈”, “토니”)이고 (“칼리”, “마리”, “돈”)에 대한 욕구 점수는 (11점, 1점 , 55점)), ‘tony’는 그리움이 0점으로, 이 사진의 기억력 점수는 3인의 그리움 점수를 합산한 67점(11+1+55)점이다.
그리운 사람들의 이름을 포함하는 문자열 배열 이름, 각 사람의 희망 점수를 포함하는 정수 배열 갈망, 각 사진에 있는 사람들의 이름을 포함하는 문자열의 2D 배열 사진이 인수로 주어졌을 때 사진에 대한 메모리 점수 사진에 주어진 순서대로 배열을 반환하는 솔루션 함수를 완성하십시오.
한계
- 3≤ 이름 길이 = 누락된 길이 ≤ 100
- 3≤ 이름의 요소 길이 ≤ 7
- name의 요소는 알파벳의 소문자로만 구성됩니다.
- 이름에는 중복 값이 포함되지 않습니다.
- 1≤ 그리움 (1) ≤ 100
- yearning(i)은 i번째 사람의 갈망 점수입니다.
- 3≤ 사진 길이≤100
- 1≤ 사진 길이(i) ≤ 100
- 3≤ 사진(i)은 요소(문자열) 길이가 ≤ 7입니다.
- photo(i)의 요소는 알파벳 소문자로만 구성됩니다.
- photo(i)의 요소에는 중복 값이 없습니다.
문제를 풀다
def solution(name, yearning, photo):
answer = ()
dic = {}
for i in range(len(yearning)):
dic(name(i)) = yearning(i)
for i in photo:
n = 0
for j in i:
if j not in name:
continue
n += dic(j)
answer.append(n)
return answer
문제 해결 지침
각 이름에 대한 호감도 점수인 Desires가 사전으로 생성됩니다.
이후 사진 속 인물(이름)은 희망점수를 가진 인물이 없을 경우 사전(이름)에 의해 즉시 희망점수로 전환된다.
사진에 있으면 다음 사람에게 넘어가도록 코딩되어 있습니다.
제약조건을 감안하면 범위가 크지 않아서 시간복잡도 걱정 없이 풀었습니다.