https://school.programmers.co.kr/learn/courses/30/lessons/176963
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
추억 점수라는 문제 Java로 풀이하겠습니다.
주어진 입력은 인물의 이름 배열 name, 그리움 점수 배열 yearning, 그리고 사진 찍힌 인물의 이름 배열 photo입니다.
입력의 제한 사항은 아래와 같습니다.
다음과 같이 문제를 풀이하였습니다.
import java.util.HashMap;
import java.util.Map;
class Solution {
public int[] solution(String[] name, int[] yearning, String[][] photo) {
Map<String, Integer> map = new HashMap<>();
for (int i = 0; i < name.length; i++) {
map.put(name[i], yearning[i]);
}
int[] result = new int[photo.length];
for (int i = 0; i < photo.length; i++) {
int score = 0;
for (String person : photo[i]) {
if (map.containsKey(person)) {
score += map.get(person);
}
result[i] = score;
}
}
return result;
}
}
- 주어진 이름과 그리움 점수를 매핑하는 Map을 만듭니다.
이를 통하여 이름을 기반으로 그리움 점수를 쉽게 찾기 위함입니다. - 사진 별로 반복문을 실행하여 각 사진에 나타나는 인물의 그리움 점수를 합산합니다.
- 각 사진에 대한 그리움 점수를 배열에 저장하여 반환합니다.
다른 좋은 방안이 있다면 댓글로 자유롭게 의견 부탁드립니다.

'Algorithm > CodingTest' 카테고리의 다른 글
[Programmers] Level.1 2016년(Java) (0) | 2023.10.19 |
---|---|
[Programmers] Level.1 크기가 작은 부분 문자열(Java) (2) | 2023.10.19 |
[Programmers] Level1. 둘만의 암호(Java) (2) | 2023.10.15 |
[Programmers] Level.1 문자열 나누기(Java) (0) | 2023.10.15 |
[Programmers] Level.1 카드 뭉치(Java) (0) | 2023.10.15 |