728x90
문제 설명
https://school.programmers.co.kr/learn/courses/30/lessons/176963
내 풀이
def solution(name, yearning, photo):
# photo의 길이만큼 기본 answer 배열 생성
answer = [0] * len(photo)
# 인물과 추억 점수로 딕셔너리 생성
score_dic = dict(zip(name, yearning))
for p in range(len(photo)):
# 각 사진 중 정보가 있는 인물에 대해 추억점수를 더함
for i in photo[p]:
if i in name:
answer[p] += score_dic[i]
return answer
먼저, photo의 길이만큼의 answer 배열을 생성한다.
인물(name)과 추억점수(yearning)을 바탕으로 딕셔너리를 생성하고,
photo 배열을 순회하며, 각 사진 중 정보가 있는 인물에 대해 추억점수를 더하여
answer 배열에 추가한다.
다른 사람 풀이
def solution(name, yearning, photo):
dictionary = dict(zip(name,yearning))
scores = []
for pt in photo:
score = 0
for p in pt:
if p in dictionary:
score += dictionary[p]
scores.append(score)
return scores
내가 한 풀이와 비슷하지만 약간 다른 풀이이다.
def solution(name, yearning, photo):
answer = []
for i in photo:
score=0
for j in range(len(name)):
if name[j] in i:
score+=yearning[j]
answer.append(score)
return answer
이건 딕셔너리를 생성하지 않고 푼 풀이이다.
728x90
'코딩테스트 > PYTHON' 카테고리의 다른 글
[백준][PYTHON] 1931번 회의실 배정 (1) | 2024.05.23 |
---|---|
[프로그래머스][PYTHON] Lv. 1 덧칠하기 (0) | 2024.04.29 |
[프로그래머스][PYTHON] Lv. 0 문자열 밀기 (0) | 2024.04.11 |
[프로그래머스][PYTHON] Lv. 0 겹치는 선분의 길이 (0) | 2024.04.09 |
[프로그래머스][PYTHON] Lv. 0 옹알이 (1) (0) | 2024.04.05 |