본문 바로가기
반응형
Algorithm

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

by brightGarden02 2023. 9. 5.

* 순서

- 문제

- 문제 목표

- 문제 설명

- 문제 풀이

- 최종 코드

- 포인트

 

 

- 문제

 

 

- 문제 목표

각각의 사진에 대한 추억 점수의 합 구하기.

 

 

- 문제 설명

사진 속 인물이 주어진다.

사진 속 인물에 대한 그리움 점수가 주어진다.

사진 속 인물이 2차원 배열로 주어진다.

 

 

- 문제 풀이

1. map을 이용해서 사진 속 인물과 그리움 점수를 매핑한다.

2. 2중 for문을 이용한다.

3. 해당 사진에 사진 속 인물에 있으면 그리움 점수를 더한다.

4. 그리움 점수 합인 추억 점수를 배열에 넣는다.

 

 

- 최종 코드

public static int[] solution(String[] name, int[] yearning, String[][] photo) {
        int[] answer = new int[photo.length];

        Map<String, Integer> map = new HashMap<>();
        
        //1. map을 이용해서 사진 속 인물과 그리움 점수를 매핑한다.
        for(int i = 0; i < name.length; i++) {
            map.put(name[i], yearning[i]);
        }

        //2. 2중 for문을 이용한다.
        for(int i = 0; i < photo.length; i++) {
            int score = 0;
            for(int j = 0; j < photo[i].length; j++) {
                String memory = photo[i][j];
                
                //3. 해당 사진에 사진 속 인물에 있으면 그리움 점수를 더한다. 
                if(map.get(memory) != null) {
                    score += map.get(memory);
                }
            }
            
            //4. 그리움 점수 합인 추억 점수를 배열에 넣는다.
            answer[i] = score;
        }

        return answer;
    }

 

 

- 포인트

Map

댓글


반응형
반응형