코린이의 소소한 공부노트

[프로그래머스/Lv.1] 추억 점수 본문

코딩테스트 풀이/JAVA

[프로그래머스/Lv.1] 추억 점수

무지맘 2023. 5. 8. 21:41

1. Input, Output, Example

사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 한다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 된다.

// 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5, 10, 1]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 된다.

// name에 이름이 없는 사람은 0점이다.

- 사진들의 추억 점수를 photo에 주어진 순서대로 배열에 담아 반환

 

2. Constraint

1) 3 name의 길이 = yearning의 길이100

2) 3 name의 원소의 길이 7

3) 1 yearning[i] 100

4) yearning[i]i번째 사람의 그리움 점수이다.

5) 3 photo의 길이 100

6) 1 photo[i]의 길이 100

7) 3 photo[i]의 원소(문자열)의 길이 7

8) namephoto[i]의 원소들은 알파벳 소문자로만 이루어져 있다.

9) namephoto[i]의 원소들은 중복된 값이 들어가지 않다.

 

3. Code

1) 첫 코드(2023/05/08)

import java.util.*;
class Solution {
    public int[] solution(String[] name, int[] yearning, String[][] photo) {
        ArrayList<String> list = new ArrayList<>(Arrays.asList(name));
        int[] answer = new int[photo.length];
        for(int i=0 ; i<photo.length ; i++){
            for(int j=0 ; j<photo[i].length ; j++){
                if(list.contains(photo[i][j]))
                    answer[i] += yearning[list.indexOf(photo[i][j])];
            }
        }
        return answer;
    }
}