☕Language: Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
import java.util.Map;
import java.util.HashMap;
class Solution {
static int[] answer;
static Map<String, Integer> yearningScore;
public int[] solution(String[] name, int[] yearning, String[][] photo) {
answer = new int[photo.length];
yearningScore = new HashMap<>();
for(int i=0; i<name.length; i++){
yearningScore.put(name[i], yearning[i]);
}
int index=0;
for(String[] peopleInPhoto : photo){
answer[index++] = calcYearningScore(peopleInPhoto);
}
return answer;
}
public int calcYearningScore(String[] peopleInPhoto){
int sumYearning = 0;
for(String personInPhoto : peopleInPhoto){
if(yearningScore.get(personInPhoto)!=null)
sumYearning += yearningScore.get(personInPhoto);
}
return sumYearning;
}
}
|
1. yearningScore = new HashMap<>();
- key: 인물, value: 그리움 점수
2. answer[index++] = calcYearningScore(peopleInPhoto);
- 그리움 점수 계산
- if(yearningScore.get(personInPhoto)!=null)
- 사진 속 그리움 대상 인물이 아니라면, yearningScore로 부터 그리움 점수 합산
😮 찾아본 풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
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++){
for(int k=0; k<name.length; k++){
if(photo[i][j].equals(name[k])) answer[i] += yearning[k];
}
}
}
return answer;
}
}
|
* 3중 for문
- photo의 각 인물과 name 배열 비교
🔗 소스 코드
GitHub
📚 참고 자료
'Computer > Algorithm_Java' 카테고리의 다른 글
[Algorithm_Java] 문자열 다루기 기본 (Success) (0) | 2023.10.24 |
---|---|
[Algorithm_Java] 바탕화면 정리 (Success) (0) | 2023.10.21 |
[Algorithm_Java] 달리기 경주 (Success) (1) | 2023.10.19 |
[Algorithm_Java] 문자열 내림차순으로 배치하기 (Success) (0) | 2023.10.17 |
[Algorithm_Java] 시소 짝궁 (Success) (0) | 2023.10.16 |