[문제]
https://school.programmers.co.kr/learn/courses/30/lessons/118666
[풀이]
단순 구현. Map에 유형과 점수를 key, value로 저장하도록 했다.
[코드]
import java.util.*;
class Solution {
public String solution(String[] survey, int[] choices) {
String answer = "";
String[][] indicators = {
{"R", "T"},
{"C", "F"},
{"J", "M"},
{"A", "N"}
};
int[] score = {3, 2, 1, 0, 1, 2, 3};
Map<String, Integer> map = new HashMap<>();
//검사자의 성격 유형 검사 결과를 지표 번호 순서대로 return
//점수 계산
for(int i=0; i<survey.length; i++){
String s = survey[i];
if(choices[i] < 4){
String temp = String.valueOf(s.charAt(0));
map.put(temp, map.getOrDefault(temp, 0)+score[choices[i]-1]);
}
else if(choices[i] > 4){ //동의
String temp = String.valueOf(s.charAt(1));
map.put(temp, map.getOrDefault(temp, 0)+score[choices[i]-1]);
}
}
//성격유형 검사
for(int i=0; i<4; i++){
if(map.getOrDefault(indicators[i][0], 0) >= map.getOrDefault(indicators[i][1], 0)){
answer += indicators[i][0];
}
else answer += indicators[i][1];
}
return answer;
}
}
'알고리즘 공부 및 문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[pro] 프로그래머스 level1 81301 숫자 문자열과 영단어 (Java) (0) | 2022.12.16 |
---|---|
[pro] 프로그래머스 level3 118669 등산코스 정하기 (Java) - 다익스트라 (0) | 2022.12.16 |
[pro] 프로그래머스 level3 118668 코딩 테스트 공부 (Java) - dp (0) | 2022.12.15 |
[pro] 프로그래머스 level2 118667 두 큐 합 같게 만들기 (Java) - 큐 (0) | 2022.12.15 |
[pro] 프로그래머스 level3 64064 불량 사용자 (Java) - DFS (0) | 2022.12.15 |