ALGORITHM/PROGRAMMERS
[프로그래머스] 성격 유형 검사하기 (2022 KAKAO TECH INTERNSHIP)
0298
2022. 9. 14. 22:51
https://school.programmers.co.kr/learn/courses/30/lessons/118666
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
2022-09-14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
class Solution {
public String solution(String[] survey, int[] choices) {
String answer = "";
String mbti = "RTCFJMAN";
int[] arr = new int[mbti.length()];
for(int i = 0; i < survey.length; i++) {
char disagree = survey[i].charAt(0);
char agree = survey[i].charAt(1);
int value = choices[i];
if(value >= 5) {
value -= 4;
arr[mbti.indexOf(agree)] += value;
}
else if(value < 4) {
if(value != 2) value = value == 3 ? 1 : 3;
arr[mbti.indexOf(disagree)] += value;
}
}
for(int i = 0; i < arr.length; i+=2) {
if(arr[i] >= arr[i+1]) answer += mbti.charAt(i);
else answer += mbti.charAt(i+1);
}
return answer;
}
}
|
cs |
#문제풀이
가능한 성격 유형을 string에 미리 넣어 놓는다. 해당 값들을 indexOf로 찾아서 arr 배열에서 각 유형 별 값을 관리할 수 있도록 했다.
비동의/동의 나눠서 값을 더했다.
마지막에 각각 성격 유형 중 더 큰 값을 출력한다.