프로그래머스 LEVEL 1(성격 유형 검사하기)
-
사용 언어 : javascript
-
해결 날짜 : 2022-08-23
-
해결 방법 :
- 각 유형별 category 객체 생성 후 0으로 초기화
- choices 배열을 돌며 선택한 값에 따라 category에 반영
- 지표 별 유형 두개를 비교하여 큰 값으로 answer에 추가
-
회고 : category 속 지표 별 유형 두개를 비교하는 과정을 현재 코드가 아닌 다른 방법이 있을까를 고민하다 못찾고 제출했는데 다른 사람들도 이런 식으로 했다.
-
코드
function solution(survey, choices) { var answer = ''; const category = { R: 0, T: 0, C: 0, F: 0, J: 0, M: 0, A: 0, N: 0 }; for (const [index, choice] of choices.entries()) { if (choice > 4) { category[survey[index].charAt(1)] += choice - 4; } else if (choice < 4) { category[survey[index].charAt(0)] += 4 - choice; } } answer += category.R >= category.T ? 'R' : 'T'; answer += category.C >= category.F ? 'C' : 'F'; answer += category.J >= category.M ? 'J' : 'M'; answer += category.A >= category.N ? 'A' : 'N'; return answer; }
-
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges