
728x90
import java.util.*;
class Solution {
public String solution(String[] survey, int[] choices) {
String answer = "";
HashMap<String,Integer> mbti = new HashMap<>();
mbti.put("R",0);
mbti.put("T",0);
mbti.put("C",0);
mbti.put("F",0);
mbti.put("J",0);
mbti.put("M",0);
mbti.put("A",0);
mbti.put("N",0);
int[] scoreBoard = new int[]{3,2,1,0,1,2,3};
for (int i = 0; i< choices.length; i++){
//인덱스는 0번 부터 시작하니 설문지에서 선택한 번호 -1
int point = scoreBoard[choices[i]-1];
//설문지 유형의 알파벳을 쪼개어 리스트에 저장
List<String> character = List.of(survey[i].split(""));
//선택한 번호가 4번 0점 이상인 경우 두번째 성격 유형에 점수를 부여함
if (choices[i]>=4){
mbti.put(character.get(1),mbti.get(character.get(1))+point);
}else {
mbti.put(character.get(0),mbti.get(character.get(0))+point);
}
}
//점수가 같을 경우 알파벳 우선순위의 성격유형을 선택
if (mbti.get("R")>=mbti.get("T")){
answer = "R";
} else {
answer = "T";
}
if (mbti.get("C")>=mbti.get("F")){
answer += "C";
} else {
answer += "F";
}
if (mbti.get("J")>=mbti.get("M")){
answer += "J";
} else {
answer += "M";
}
if (mbti.get("A")>=mbti.get("N")){
answer += "A";
} else {
answer += "N";
}
return answer;
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
JadenCase 문자열 만들기(Lv.2)[프로그래머스] (0) | 2022.09.15 |
---|---|
[1차] 비밀지도(Lv.1)[프로그래머스 2018 KAKAO BLIND RECRUITMENT] (0) | 2022.09.14 |
신규 아이디 추천(Lv.1)[프로그래머스 2021 KAKAO BLIND RECRUITMENT] (0) | 2022.09.06 |
같은 숫자는 싫어(Lv.1)[프로그래머스] (0) | 2022.08.31 |
나머지가 1이 되는 수 찾기(Lv.1)[프로그래머스] (0) | 2022.08.31 |