250x250
Notice
Recent Posts
Recent Comments
관리 메뉴

탁월함은 어떻게 나오는가?

[Algorithm] 추억 점수 ( Programmers - JavaScript, Python ) 본문

[Snow-ball]프로그래밍(컴퓨터)/Algorithm Training

[Algorithm] 추억 점수 ( Programmers - JavaScript, Python )

Snow-ball 2024. 1. 4. 21:19
반응형

문제 설명

사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인물의 이름이 ["kali", "mari", "don", "tony"]이고 ["kali", "mari", "don"]의 그리움 점수가 각각 [11점, 1점, 55점]이고, "tony"는 그리움 점수가 없을 때, 이 사진의 추억 점수는 3명의 그리움 점수를 합한 67(11 + 1 + 55)점입니다.

 

 

 


 

 

 

제한사항

 

 

 

 


 

 

 

입출력 예

 

 

 

 


 

 

 

입출력 예 설명

 

 

 

 


 

 

 

문제 풀이

[ 추억 점수 ] 문제는 점수를 줄 수 있는 이름들의 합을 구하는 문제이다.

그렇기 때문에 나는 table형식으로 key, value 값을 만들어 사용했다. 그리고 테이블에 키값이 존재하는지에 유무에 따라 분기처리를 하여서 값을 더해주는 방식으로 문제를 해결하였다.

 

 

javascript

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function solution(name, yearning, photo) {
  const answer = [];
 
  const table = new Map();
  for (let i = 0; i < name.length; ++i) table.set(name[i], yearning[i]);
 
  for (let i = 0; i < photo.length; ++i) {
    let result = 0;
    for (let j = 0; j < photo[i].length; ++j) {
      const score = table.get(photo[i][j]);
      if (score) result += score;
    }
 
    answer.push(result);
  }
 
  return answer;
}
cs

 

 

python

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
def solution(name, yearning, photo):
    answer = []
 
    table = {}
    for i in range(len(name)):
        table[name[i]] = yearning[i]
 
    print(table)
 
    for i in range(len(photo)):
        result = 0
        for j in range(len(photo[i])):
            name = photo[i][j]
            if name in table:
                result += table.get(name)
 
        answer.append(result)
 
    return answer
cs

 

 

 

 

 

 

 

 

 

 

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/176963?language=javascript

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형
Comments