빙응의 공부 블로그

[Programmers]Lv.1 성격 유형 검사 본문

Argorithm

[Programmers]Lv.1 성격 유형 검사

빙응이 2023. 12. 27. 16:22


📝풀이

성격 유형 검사에 따른 점수 처리

내가 가장 알맞다고 생각한 것은 해쉬맵을 이용한 키-값 형식이였다.

성격 유형에 맞춰 키 값으로 해결한 다음 삼항 연산자를 이용해서 정렬하여 정답을 출력하였다. 

 

간단한 문제~

import java.util.HashMap;
class Solution {
    public String solution(String[] survey, int[] choices) {
        String[] surveyArr = {"R","T","C","F","J","M","A","N"}; 
        
        HashMap<String,Integer> map = new HashMap<>();
        
        String answer = "";
        
        for(String sur:surveyArr) //해쉬맵 초기화 
            map.put(sur,0);

        for(int i = 0; i < choices.length;i++){
            if(choices[i]==4)
                continue;
            else if(choices[i] > 4){
                String word = String.valueOf(survey[i].charAt(1));
                map.put(word, map.get(word) + choices[i]-4);
            }
            else{
                String word = String.valueOf(survey[i].charAt(0));
                map.put(word, map.get(word) + 4 -choices[i]);
            }
                
        }
        //정답 생성 
        answer += map.get("R") >= map.get("T") ? "R" : "T";
        answer += map.get("C") >= map.get("F") ? "C" : "F";
        answer += map.get("J") >= map.get("M") ? "J" : "M";
        answer += map.get("A") >= map.get("N") ? "A" : "N";  
        return answer;
    }
}



/*
 * 성격 유형 4가지 
 * 1. R T
 * 2. C F
 * 3. J M
 * 4. A N
 */

'Argorithm' 카테고리의 다른 글

[Programmers]Lv.1 최소직사각형  (1) 2023.12.28
[Programmers]Lv.1 신고 결과 받기  (0) 2023.12.27
[Programmers]Lv.1 숫자짝꿍  (0) 2023.12.26
[Programmers]Lv.1 콜라문제  (0) 2023.12.18
[Programmers]Lv.1 옹알이(2)  (0) 2023.12.15