DevYoon
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฑ๊ฒฉ ์ ํ ๊ฒ์ฌ (Javascript) ๋ณธ๋ฌธ
link ๐ https://school.programmers.co.kr/learn/courses/30/lessons/118666
โ๏ธ ์ฑ๊ฒฉ ํ์ ์ ๊ฐ์ฒด๋ก ์์ฑํ๊ณ , ์ค๋ฌธ ๊ฒฐ๊ณผ์ ๋ฐ๋ฅธ ์ ์๋ฅผ ํด๋น ํ๋กํผํฐ์ ๊ฐ์ผ๋ก ๋ํด์ฃผ์๋ค.
โ๏ธ Object.entries()๋ฅผ ํตํด ๊ฐ์ฒด์ key, value๋ฅผ ๋ฐฐ์ด๋ก ์ ํํ๊ณ , 2๊ฐ์ฉ ๋๋์ด ๋น๊ตํด์ฃผ์๋ค.
function solution(survey, choices) {
var answer = '';
personal = {
'R':0,
'T':0,
'C':0,
'F':0,
'J':0,
'M':0,
'A':0,
'N':0,
};
score = [0, 3, 2, 1, 0, 1, 2, 3]; // ๋งค์ฐ ๋น๋์ ~ ๋งค์ฐ ๋์
survey.map((type, index) => {
// choices์ ๊ฐ์ด 4๋ณด๋ค ์์ผ๋ฉด => ์๋ฅผ ๋ค์ด, RT ์ค R์ ํ๋ฌ์ค
if(choices[index] < 4){
personal[type[0]] += score[choices[index]]
}else{
// choices์ ๊ฐ์ด 4๋ณด๋ค ํฌ๋ฉด๋ฉด => ์๋ฅผ ๋ค์ด, RT ์ค T์ ํ๋ฌ์ค
personal[type[1]] += score[choices[index]]
}
});
// personal์ key, value ๋ฐฐ์ด๋ก ์ ํ
result = Object.entries(personal);
for (let i = 1; i<8; i+=2){
// 2๊ฐ์ฉ ๋๋ ์ ๋น๊ต, ๋ ๊ฐ์ด ํฐ ์ชฝ์ answer์ ์ถ๊ฐ
if(result[i][1] > result[i-1][1]){
answer += result[i][0]
}else{
// ๋ง์ฝ ๊ฐ์ด ๊ฐ๋ค๋ฉด, ์ฌ์ ์ ์์ ์ค๋ ์ชฝ์ด ์ถ๊ฐ๋์ด์ผ ํ๋ฏ๋ก i-1์ answer์ ์ถ๊ฐ
answer += result[i-1][0]
}
};
return answer;
}