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

hgghfgf·2023년 5월 21일
0

프로그래머스

목록 보기
84/227

추억 점수.java

import java.util.*;

class Solution {
    public int[] solution(String[] name, int[] yearning, String[][] photo) {
        int[] answer = new int[photo.length];
        
        for(int i=0; i<photo.length; i++){
            for(int j=0; j<photo[i].length; j++){
                if(Arrays.asList(name).indexOf(photo[i][j]) != -1){
                    answer[i] += yearning[Arrays.asList(name).indexOf(photo[i][j])];
                }
            }
        }
        
        return answer;
    }
}

함수 solution은 매개변수로 문자열 배열 name, 정수 배열 yearning, 그리고 2차원 문자열 배열 photo를 받습니다.
answer 배열은 photo 배열의 길이만큼 생성되고, 모든 요소는 초기값 0으로 설정됩니다.
2차원 배열 photo를 순회하기 위해 중첩된 반복문이 사용됩니다. 외부 반복문은 행을, 내부 반복문은 열을 순회합니다.
내부 반복문에서는 photo의 각 요소를 확인하면서 해당 값이 name 배열에 존재하는지 확인합니다.
Arrays.asList(name).indexOf(photo[i][j]) 구문을 사용하여 photo[i][j]의 인덱스를 name 배열에서 검색합니다. indexOf 메서드는 찾는 요소가 존재하지 않을 경우 -1을 반환합니다.
찾은 인덱스를 사용하여 yearning 배열에서 해당 요소의 값을 가져와 answer[i]에 더합니다. 이는 photo 배열의 각 행마다 해당하는 이름의 연수값을 누적하는 것을 의미합니다.
모든 반복이 완료되면 answer 배열을 반환합니다.

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

0개의 댓글