상세 컨텐츠

본문 제목

성격 유형 검사하기 (2022 KAKAO TECH INTERNSHIP)

프로그래머스 코딩테스트 풀이

by 발발개발 2022. 8. 30. 10:13

본문

원본 : https://school.programmers.co.kr/learn/courses/30/lessons/118666

 

프로그래머스

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

programmers.co.kr

 

풀이

import java.util.*;

class Solution {
    public String solution(String[] survey, int[] choices) {
        int[] result = new int[8];
        char[] nameArr = new char[]{'R', 'T', 'C', 'F', 'J', 'M', 'A', 'N'};
        Map<Character, Integer> idxMap = new HashMap<>();

        for (int i = 0; i < nameArr.length; i++) {
            idxMap.put(nameArr[i], i);
        }

        for (int i = 0; i < choices.length; i++) {
            int choice = choices[i];
            result[choice < 4 ? idxMap.get(survey[i].charAt(0)) : idxMap.get(survey[i].charAt(1))] += Math.abs(4 - choice);
        }

        StringBuilder sb = new StringBuilder();

        for (int i = 0; i < result.length; i += 2) {
            if (result[i] >= result[i + 1]) {
                sb.append(nameArr[i]);
            } else {
                sb.append(nameArr[i + 1]);
            }
        }

        return sb.toString();
    }
}

관련글 더보기

댓글 영역