🔗 문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/118666
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
📝 문제 요약
나만의 카카오 성격 유형 검사지를 만들려고 합니다.
성격 유형 검사는 다음과 같은 4개 지표로 성격 유형을 구분합니다. 성격은 각 지표에서 두 유형 중 하나로 결정됩니다.
| 지표 번호 | 성격 유형 |
| 1번 지표 | 라이언형(R), 튜브형(T) |
| 2번 지표 | 콘형(C), 프로도형(F) |
| 3번 지표 | 제이지형(J), 무지형(M) |
| 4번 지표 | 어피치형(A), 네오형(N) |
검사지에는 총 n개의 질문이 있고, 각 질문에는 아래와 같은 7개의 선택지가 있습니다.
| 선택지 |
| 매우 비동의 |
| 비동의 |
| 약간 비동의 |
| 모르겠음 |
| 약간 동의 |
| 동의 |
| 매우 동의 |
각 질문은 1가지 지표로 성격 유형 점수를 판단합니다.
🔍 문제 풀이 (feat. 접근 방법)
일단 배열로 접근해 보자.
각 유형별 점수를 계산하는 변수 scores와 각 성격 유형을 잘라서 쓸 String 변수를 선언한다.
for문을 돌면서 점수를 계산해 유형을 찾아낸다.
for문을 돌면서 유형을 조합한다.
👩🏻💻 전체 코드
import static java.lang.Math.abs;
class Solution {
public String solution(String[] survey, int[] choices) {
String answer = "";
int[] scores = {0, 0, 0, 0, 0, 0, 0, 0};
String types = "RTCFJMAN";
for (int i = 0; i < survey.length; i++) {
int choice = choices[i];
if (choice > 4) {
scores[types.indexOf(String.valueOf(survey[i].charAt(1)))] += choices[i]-4;
} else if (choices[i] < 4) {
scores[types.indexOf(String.valueOf(survey[i].charAt(0)))] += abs(choices[i]-4);
} else {
continue;
}
}
for (int i = 0; i < scores.length / 2; i++) {
if (scores[i*2] >= scores[i*2+1]) {
answer += String.valueOf(types.charAt(i*2));
} else {
answer += String.valueOf(types.charAt(i*2+1));
}
}
return answer;
}
}
'스터디 > 묘공단 자바 코딩테스트' 카테고리의 다른 글
| [묘공단] 3주 차 코딩 테스트 합격자 되기: 자바 (책 요약) (0) | 2024.04.29 |
|---|---|
| [프로그래머스/Java] 9일차 코테 문풀 - Lv. 1 기사단원의 무기 (0) | 2024.04.24 |
| [묘공단] 1, 2주 차 코딩 테스트 합격자 되기: 자바 (책 요약) (1) | 2024.04.22 |
| [프로그래머스/Java] 6일차 코테 문풀 - Lv. 1 과일 장수 (0) | 2024.04.21 |
| [프로그래머스/Java] 5일차 코테 문풀 - Lv. 1 카드 뭉치 (0) | 2024.04.20 |