
π λ¬Έμ
λλ§μ μΉ΄μΉ΄μ€ μ±κ²© μ ν κ²μ¬μ§λ₯Ό λ§λ€λ €κ³ ν©λλ€.
μ±κ²© μ ν κ²μ¬λ λ€μκ³Ό κ°μ 4κ° μ§νλ‘ μ±κ²© μ νμ ꡬλΆν©λλ€. μ±κ²©μ κ° μ§νμμ λ μ ν μ€ νλλ‘ κ²°μ λ©λλ€.
μ§ν λ²νΈ μ±κ²© μ ν
1λ² μ§ν λΌμ΄μΈν(R), νλΈν(T)
2λ² μ§ν μ½ν(C), νλ‘λν(F)
3λ² μ§ν μ μ΄μ§ν(J), 무μ§ν(M)
4λ² μ§ν μ΄νΌμΉν(A), λ€μ€ν(N)
4κ°μ μ§νκ° μμΌλ―λ‘ μ±κ²© μ νμ μ΄ 16(=2 x 2 x 2 x 2)κ°μ§κ° λμ¬ μ μμ΅λλ€. μλ₯Ό λ€μ΄, "RFMN"μ΄λ "TCMA"μ κ°μ μ±κ²© μ νμ΄ μμ΅λλ€.
κ²μ¬μ§μλ μ΄ nκ°μ μ§λ¬Έμ΄ μκ³ , κ° μ§λ¬Έμλ μλμ κ°μ 7κ°μ μ νμ§κ° μμ΅λλ€.
λ§€μ° λΉλμ
λΉλμ
μ½κ° λΉλμ
λͺ¨λ₯΄κ² μ
μ½κ° λμ
λμ
λ§€μ° λμ
κ° μ§λ¬Έμ 1κ°μ§ μ§νλ‘ μ±κ²© μ ν μ μλ₯Ό νλ¨ν©λλ€.
μλ₯Ό λ€μ΄, μ΄λ€ ν μ§λ¬Έμμ 4λ² μ§νλ‘ μλ νμ²λΌ μ μλ₯Ό λ§€κΈΈ μ μμ΅λλ€.
μ νμ§ μ±κ²© μ ν μ μ
λ§€μ° λΉλμ λ€μ€ν 3μ
λΉλμ λ€μ€ν 2μ
μ½κ° λΉλμ λ€μ€ν 1μ
λͺ¨λ₯΄κ² μ μ΄λ€ μ±κ²© μ νλ μ μλ₯Ό μ»μ§ μμ΅λλ€
μ½κ° λμ μ΄νΌμΉν 1μ
λμ μ΄νΌμΉν 2μ
λ§€μ° λμ μ΄νΌμΉν 3μ
μ΄λ κ²μ¬μκ° μ§λ¬Έμμ μ½κ° λμ μ νμ§λ₯Ό μ νν κ²½μ° μ΄νΌμΉν(A) μ±κ²© μ ν 1μ μ λ°κ² λ©λλ€. λ§μ½ κ²μ¬μκ° λ§€μ° λΉλμ μ νμ§λ₯Ό μ νν κ²½μ° λ€μ€ν(N) μ±κ²© μ ν 3μ μ λ°κ² λ©λλ€.
μ μμμ²λΌ λ€μ€νμ΄ λΉλμ, μ΄νΌμΉνμ΄ λμμΈ κ²½μ°λ§ μ£Όμ΄μ§μ§ μκ³ , μ§λ¬Έμ λ°λΌ λ€μ€νμ΄ λμ, μ΄νΌμΉνμ΄ λΉλμμΈ κ²½μ°λ μ£Όμ΄μ§ μ μμ΅λλ€.
νμ§λ§ κ° μ νμ§λ κ³ μ μ μΈ ν¬κΈ°μ μ μλ₯Ό κ°μ§κ³ μμ΅λλ€.
λ§€μ° λμλ λ§€μ° λΉλμ μ νμ§λ₯Ό μ ννλ©΄ 3μ μ μ»μ΅λλ€.
λμλ λΉλμ μ νμ§λ₯Ό μ ννλ©΄ 2μ μ μ»μ΅λλ€.
μ½κ° λμλ μ½κ° λΉλμ μ νμ§λ₯Ό μ ννλ©΄ 1μ μ μ»μ΅λλ€.
λͺ¨λ₯΄κ² μ μ νμ§λ₯Ό μ ννλ©΄ μ μλ₯Ό μ»μ§ μμ΅λλ€.
κ²μ¬ κ²°κ³Όλ λͺ¨λ μ§λ¬Έμ μ±κ²© μ ν μ μλ₯Ό λνμ¬ κ° μ§νμμ λ λμ μ μλ₯Ό λ°μ μ±κ²© μ νμ΄ κ²μ¬μμ μ±κ²© μ νμ΄λΌκ³ νλ¨ν©λλ€. λ¨, νλμ μ§νμμ κ° μ±κ²© μ ν μ μκ° κ°μΌλ©΄, λ μ±κ²© μ ν μ€ μ¬μ μμΌλ‘ λΉ λ₯Έ μ±κ²© μ νμ κ²μ¬μμ μ±κ²© μ νμ΄λΌκ³ νλ¨ν©λλ€.
μ§λ¬Έλ§λ€ νλ¨νλ μ§νλ₯Ό λ΄μ 1μ°¨μ λ¬Έμμ΄ λ°°μ΄ surveyμ κ²μ¬μκ° κ° μ§λ¬Έλ§λ€ μ νν μ νμ§λ₯Ό λ΄μ 1μ°¨μ μ μ λ°°μ΄ choicesκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§λλ€. μ΄λ, κ²μ¬μμ μ±κ²© μ ν κ²μ¬ κ²°κ³Όλ₯Ό μ§ν λ²νΈ μμλλ‘ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
π μ νμ¬ν
1 β€ surveyμ κΈΈμ΄ ( = n) β€ 1,000
surveyμ μμλ "RT", "TR", "FC", "CF", "MJ", "JM", "AN", "NA" μ€ νλμ λλ€.
survey[i]μ 첫 λ²μ§Έ μΊλ¦ν°λ i+1λ² μ§λ¬Έμ λΉλμ κ΄λ ¨ μ νμ§λ₯Ό μ ννλ©΄ λ°λ μ±κ²© μ νμ μλ―Έν©λλ€.
survey[i]μ λ λ²μ§Έ μΊλ¦ν°λ i+1λ² μ§λ¬Έμ λμ κ΄λ ¨ μ νμ§λ₯Ό μ ννλ©΄ λ°λ μ±κ²© μ νμ μλ―Έν©λλ€.
choicesμ κΈΈμ΄ = surveyμ κΈΈμ΄
choices[i]λ κ²μ¬μκ° μ νν i+1λ²μ§Έ μ§λ¬Έμ μ νμ§λ₯Ό μλ―Έν©λλ€.
1 β€ choicesμ μμ β€ 7
choices λ»
1 λ§€μ° λΉλμ
2 λΉλμ
3 μ½κ° λΉλμ
4 λͺ¨λ₯΄κ² μ
5 μ½κ° λμ
6 λμ
7 λ§€μ° λμ
π μ μΆλ ₯ μ
survey choices result
["AN", "CF", "MJ", "RT", "NA"] [5, 3, 2, 7, 5] "TCMA"
["TR", "RT", "TR"] [7, 1, 3] "RCJA"
π μ μΆλ ₯ μ μ€λͺ
μ μΆλ ₯ μ #2
1λ²λΆν° 3λ²κΉμ§ μ§λ¬Έμ μ±κ²© μ ν μ μλ₯Ό ν©μΉλ©΄ μλ νμ κ°μ΅λλ€.
μ§ν λ²νΈ μ±κ²© μ ν μ μ μ±κ²© μ ν μ μ
1λ² μ§ν λΌμ΄μΈν(R) 6 νλΈν(T) 1
2λ² μ§ν μ½ν(C) 0 νλ‘λν(F) 0
3λ² μ§ν μ μ΄μ§ν(J) 0 무μ§ν(M) 0
4λ² μ§ν μ΄νΌμΉν(A) 0 λ€μ€ν(N) 0
1λ² μ§νλ νλΈν(T)λ³΄λ€ λΌμ΄μΈν(R)μ μ μκ° λ λμ΅λλ€. λ°λΌμ 첫 λ²μ§Έ μ§νμ μ±κ²© μ νμ Rμ λλ€.
νμ§λ§, 2, 3, 4λ² μ§νλ λͺ¨λ 0μ μΌλ‘ λμΌν μ μμ λλ€. λ°λΌμ 2, 3, 4λ² μ§νμ μ±κ²© μ νμ μ¬μ μμΌλ‘ λΉ λ₯Έ C, J, Aμ λλ€.
λ°λΌμ "RCJA"λ₯Ό return ν΄μΌ ν©λλ€.
π§ νμ΄
function solution(survey, choices) {
let total_points = {"R": 0, "T": 0, "C": 0, "F": 0, "J": 0, "M": 0, "A": 0, "N": 0};
let answer = [];
survey.forEach((e, i) => {
let disagree_temp = e[0];
let agree_temp = e[1];
if (choices[i] > 4) {
total_points[agree_temp] += choices[i] - 4;
} else if (choices[i] < 4) {
total_points[disagree_temp] += 4 - choices[i];
}
})
if (total_points["R"] < total_points["T"]) {
answer.push("T");
} else {
answer.push("R");
}
if (total_points["C"] < total_points["F"]) {
answer.push("F");
} else {
answer.push("C");
}
if (total_points["J"] < total_points["M"]) {
answer.push("M");
} else {
answer.push("J");
}
if (total_points["A"] < total_points["N"]) {
answer.push("N");
} else {
answer.push("A");
}
return answer.join("");
}
π‘ μκ² λ μ
- forEach()μμ indexλ₯Ό μ κ·Ή νμ©νλ©΄, indexκΉμ§ κΊΌλ΄μ νμ©ν μ μλ€.
- μ²μμλ ifλ¬Έμ 4κ° μ¬μ©νμ§ μκ³ , forλ¬Έμ ν΅ν΄, objectμ key κ°μ κΊΌλ΄ arrayλ‘ λ§λ€μ΄, λ°λ³΅μ νλ € νμΌλ, λλ‘λ λ¨μνκ² λ μ§κ΄μ μΈ κ² κ°μ, λ€μκ³Ό κ°μ΄ νμλ€.