문제
https://school.programmers.co.kr/learn/courses/30/lessons/118666
설계
- MBTI 유형 검사와 같은 내용
- hash map을 사용하여 점수 기입, 결과 출력
python
def solution(survey, choices):
answer = ''
score = {'R': 0, 'T': 0, 'C': 0, 'F': 0, 'J': 0, 'M': 0, 'A': 0, 'N': 0}
# 입력값 비교
for i in range(len(survey)):
if choices[i] == 1:
score[survey[i][0]] += 3
elif choices[i] == 2:
score[survey[i][0]] += 2
elif choices[i] == 3:
score[survey[i][0]] += 1
elif choices[i] == 4:
pass
elif choices[i] == 5:
score[survey[i][1]] += 1
elif choices[i] == 6:
score[survey[i][1]] += 2
elif choices[i] == 7:
score[survey[i][1]] += 3
# 결과 정렬
if score['R'] >= score['T']:
answer += 'R'
else:
answer += 'T'
if score['C'] >= score['F']:
answer += 'C'
else:
answer += 'F'
if score['J'] >= score['M']:
answer += 'J'
else:
answer += 'M'
if score['A'] >= score['N']:
answer += 'A'
else:
answer += 'N'
return answer
JavaScript
function solution(survey, choices) {
data = { R: 0, T: 0, C: 0, F: 0, J: 0, M: 0, A: 0, N: 0 };
table1 = { 1: 3, 2: 2, 3: 1 };
table2 = { 5: 1, 6: 2, 7: 3 };
// 검사지 계산
for (let i = 0; i < survey.length; i++) {
if (choices[i] <= 3) {
data[survey[i][0]] += table1[choices[i]];
} else if (choices[i] >= 5) {
data[survey[i][1]] += table2[choices[i]];
}
}
// 결과 계산
let answer = "";
if (data["R"] >= data["T"]) {
answer += "R";
} else {
answer += "T";
}
if (data["C"] >= data["F"]) {
answer += "C";
} else {
answer += "F";
}
if (data["J"] >= data["M"]) {
answer += "J";
} else {
answer += "M";
}
if (data["A"] >= data["N"]) {
answer += "A";
} else {
answer += "N";
}
return answer;
}
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 두 큐 합 같게 만들기 (0) | 2022.09.13 |
---|---|
[프로그래머스] 게임 맵 최단거리 (0) | 2022.08.24 |
[프로그래머스] [1차] 비밀지도 (0) | 2022.08.18 |
[프로그래머스] 약수의 개수와 덧셈 (0) | 2022.08.16 |
[프로그래머스] 폰켓몬 (0) | 2022.08.15 |