본문 바로가기
프로그래머스/Lv. 1 - 자바

성격 유형 검사하기

by EH헌 2024. 2. 5.

풀이

class Solution {
    public String solution(String[] survey, int[] choices) {
        int C = 0, F = 0, M = 0, J = 0, N = 0, A = 0, T = 0, R = 0;

        int[] score = { 3, 2, 1, 0, 1, 2, 3};

        for (int i = 0; i < choices.length && i < survey.length; i++) {
            int choice = choices[i];
            char firstChar = survey[i].charAt(0);
            char secondChar = survey[i].charAt(1);

            int categoryScore = score[choice -1];

            // 각 카테고리에 대한 점수 업데이트
            C += (survey[i].charAt(0) == 'C' && choice <= 3) ? categoryScore : 0;
            C += (survey[i].charAt(1) == 'C' && choice > 3) ? categoryScore : 0;
            F += (survey[i].charAt(0) == 'F' && choice <= 3) ? categoryScore : 0;
            F += (survey[i].charAt(1) == 'F' && choice > 3) ? categoryScore : 0;
            
            R += (survey[i].charAt(0) == 'R' && choice <= 3) ? categoryScore : 0;
            R += (survey[i].charAt(1) == 'R' && choice > 3) ? categoryScore : 0;
            T += (survey[i].charAt(0) == 'T' && choice <= 3) ? categoryScore : 0;
            T += (survey[i].charAt(1) == 'T' && choice > 3) ? categoryScore : 0;
            
            M += (survey[i].charAt(0) == 'M' && choice <= 3) ? categoryScore : 0;
            M += (survey[i].charAt(1) == 'M' && choice > 3) ? categoryScore : 0;
            J += (survey[i].charAt(0) == 'J' && choice <= 3) ? categoryScore : 0;
            J += (survey[i].charAt(1) == 'J' && choice > 3) ? categoryScore : 0;
            
            A += (survey[i].charAt(0) == 'A' && choice <= 3) ? categoryScore : 0;
            A += (survey[i].charAt(1) == 'A' && choice > 3) ? categoryScore : 0;
            N += (survey[i].charAt(0) == 'N' && choice <= 3) ? categoryScore : 0;
            N += (survey[i].charAt(1) == 'N' && choice > 3) ? categoryScore : 0;
            
            
        }

        // 각 카테고리에 대한 권장 활동 결정
        String answer = "";
        if (R >= T) answer += "R"; else answer += "T";
        if (C >= F) answer += "C"; else answer += "F";
        if (J >= M) answer += "J"; else answer += "M";
        if (A >= N) answer += "A"; else answer += "N";
        

        return answer;
    }
}

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

AN, NA 이런 식으로 되는 상황을 구별해야 된다는 것을 생각 못해서 헤맸다..!

이해하니까 쉬웠던 문제였던 듯!

'프로그래머스 > Lv. 1 - 자바' 카테고리의 다른 글

나머지가 1이 되는 수 찾기  (0) 2024.02.06
신고 결과 받기  (0) 2024.02.06
숫자 짝꿍  (0) 2024.02.05
삼총사  (0) 2024.02.05
콜라 문제  (0) 2024.02.05