packageprogrammers.sully.week5;importjava.util.HashMap;importjava.util.Map;publicclass성격_유형_검사하기_Sully{publicstaticStringsolution(String[]survey,int[]choices){// 동일한 길이StringBuilderanswer=newStringBuilder();Map<String,Integer>indicatorMap=newHashMap<>();indicatorMap.put("R",0);indicatorMap.put("T",0);indicatorMap.put("C",0);indicatorMap.put("F",0);indicatorMap.put("J",0);indicatorMap.put("M",0);indicatorMap.put("A",0);indicatorMap.put("N",0);// 맵으로 표 정리for(inti=0;i<survey.length;i++){Stringfirst=survey[i].split("")[0];// i+1번 질문의 "비동의" 관련 선택지Stringsecond=survey[i].split("")[1];// i+1 질문의 "동의" 관련 선택지Stringtype="";intscore=0;switch(choices[i]){case1->{// 매우 비동의type=first;score=3;}case2->{// 비동의type=first;score=2;}case3->{// 약간 비동의type=first;score=1;}case4->{continue;}case5->{// 약간 동의type=second;score=1;}case6->{// 동의type=second;score=2;}case7->{// 매우 동의type=second;score=3;}}// type 같은 거에다가 value 값에 score 계속 더해줌indicatorMap.put(type,score+indicatorMap.get(type));}// 1~4 지표 비교하여 점수 누가 더 높은지 판별if(indicatorMap.get("R")>=indicatorMap.get("T")){answer.append("R");}elseif(indicatorMap.get("R")<indicatorMap.get("T")){answer.append("T");}if(indicatorMap.get("C")>=indicatorMap.get("F")){answer.append("C");}elseif(indicatorMap.get("C")<indicatorMap.get("F")){answer.append("F");}if(indicatorMap.get("J")>=indicatorMap.get("M")){answer.append("J");}elseif(indicatorMap.get("J")<indicatorMap.get("M")){answer.append("M");}if(indicatorMap.get("A")>=indicatorMap.get("N")){answer.append("A");}elseif(indicatorMap.get("A")<indicatorMap.get("N")){answer.append("N");}returnanswer.toString();}publicstaticvoidmain(String[]args){System.out.println(solution(newString[]{"AN","CF","MJ","RT","NA","AN"},newint[]{5,3,2,7,5,4}));System.out.println(solution(newString[]{"TR","RT","TR"},newint[]{7,1,3}));}}
Leave a comment