๐ŸŒ  ๋ฌธ์ œ

๋‚˜๋งŒ์˜ ์นด์นด์˜ค ์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌ์ง€๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

์„ฑ๊ฒฉ ์œ ํ˜• ๊ฒ€์‚ฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ 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๋กœ ๋งŒ๋“ค์–ด, ๋ฐ˜๋ณต์„ ํ•˜๋ ค ํ–ˆ์œผ๋‚˜, ๋•Œ๋กœ๋Š” ๋‹จ์ˆœํ•œ๊ฒŒ ๋” ์ง๊ด€์ ์ธ ๊ฒƒ ๊ฐ™์•„, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ’€์—ˆ๋‹ค.

+ Recent posts