728x90

4개의 지표가 있고

지표에 관한 설문이 주어질 때 답안에 따라 점수를 부여하여 높은 점수를 가진 성격 유형을 가진다

이때 동점일 경우 사전순으로 빠른 유형을 선택한다. 

 

public String solution(String[] survey, int[] choices) {

String answer = "";

Map<String,Integer> map = new HashMap<String,Integer>();

 

for (int i = 0; i < choices.length; i++) {

String before =survey[i].charAt(0)+"";

String after =survey[i].charAt(1)+"";

if(choices[i]==1) {

map.put(before, map.getOrDefault(before, 0)+3);

}else if(choices[i]==2) {

map.put(before, map.getOrDefault(before, 0)+2);

}else if(choices[i]==3) {

map.put(before, map.getOrDefault(before, 0)+1);

}else if(choices[i]==4) {

 

}else if(choices[i]==5) {

map.put(after, map.getOrDefault(after, 0)+1);

}else if(choices[i]==6) {

map.put(after, map.getOrDefault(after, 0)+2);

}else if(choices[i]==7) {

map.put(after, map.getOrDefault(after, 0)+3);

}

}

if(map.getOrDefault("T",0)>map.getOrDefault("R",0)) {

answer+="T";

}else {

answer+="R";

}

if(map.getOrDefault("F",0)>map.getOrDefault("C",0)) {

answer+="F";

}else {

answer+="C";

}

if(map.getOrDefault("M",0)>map.getOrDefault("J",0)) {

answer+="M";

}else {

answer+="J";

}

if(map.getOrDefault("N",0)>map.getOrDefault("A",0)) {

answer+="N";

}else {

answer+="A";

}

 

return answer;

}

map에 각 유형과 점수를 저장한다. 

점수가 같으면 사전순으로 빠른 유형이 answer에 더해진다.

'Java > Coding Test' 카테고리의 다른 글

삼총사 문제풀이  (0) 2023.09.25
문자열 내 마음대로 정렬하기 문제풀이  (0) 2023.09.25
약수의 개수와 덧셈 문제풀이  (0) 2023.09.24
달리기 경주 문제풀이  (0) 2023.09.24
공원 산책 문제풀이  (0) 2023.09.24

+ Recent posts