[JavaScript] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค : OXํ€ด์ฆˆ
728x90

๋ฌธ์ œ

๋ง์…ˆ, ๋บ„์…ˆ ์ˆ˜์‹๋“ค์ด 'X [์—ฐ์‚ฐ์ž] Y = Z' ํ˜•ํƒœ๋กœ ๋“ค์–ด์žˆ๋Š” ๋ฌธ์ž์—ด ๋ฐฐ์—ด quiz๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์ˆ˜์‹์ด ์˜ณ๋‹ค๋ฉด "O"๋ฅผ ํ‹€๋ฆฌ๋‹ค๋ฉด "X"๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด์€ ๋ฐฐ์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

์ž…์ถœ๋ ฅ ์˜ˆ

quiz result
["3 - 4 = -3", "5 + 6 = 11"] ["X", "O"]
["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"] ["O", "O", "X", "O"]

 

 

ํ’€์ด

=์„ ๊ธฐ์ค€์œผ๋กœ ์™ผ์ชฝ์˜ ์—ฐ์‚ฐ์ด ์˜ค๋ฅธ์ชฝ์˜ ์ˆ˜์™€ ์ผ์น˜ํ•˜๋Š”์ง€๋ฅผ ๋”ฐ์ ธ O, X๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ๋‹ค.

quiz ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ split ํ•ด์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋จผ์ € ๋“ค์—ˆ๋‹ค.

function solution(quiz) {
    var answer = [];

   for(let i=0; i<quiz.length; i++) {
        const q = quiz[i].split(' ');
        +q[0] + (q[1] === '-' ? -1 : 1) * +q[2] === +q[4] ? answer.push('O') : answer.push('X');
   };

    return answer;
}

 

quiz ๋ฐฐ์—ด ์š”์†Œ๋“ค์€ ํ•ญ์ƒ ๊ฐ™์€ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

[์ˆซ์ž] [์—ฐ์‚ฐ์ž] [์ˆซ์ž] = [์ˆซ์ž]
  • ๋ชจ๋“  ์š”์†Œ๊ฐ€ ๊ฐ™์€ ๊ตฌ์กฐ๋ผ๋Š” ์ ์„ ์ด์šฉํ•ด์„œ split์œผ๋กœ ๋‚˜๋ˆˆ ๊ฐ ์š”์†Œ๋ฅผ ๊ณ„์‚ฐํ•˜๋„๋ก ํ–ˆ๋‹ค.
  • +๋ฅผ ๋ถ™์ด๋ฉด ์ˆซ์ž๋กœ ๋ณ€ํ™˜๋œ๋‹ค.
  • ์—ฐ์‚ฐ์ž๊ฐ€ '+', '-'์ธ์ง€์— ๋”ฐ๋ผ 1 ๋˜๋Š” -1์„ ๊ณฑํ•ด์„œ ๋”ํ•˜๋„๋ก ํ–ˆ๋‹ค.

์ •๋‹ต์ด๊ธด ํ•˜์ง€๋งŒ ๊ฐ ์ž๋ฆฌ๋ฅผ ํ•˜๋“œ์ฝ”๋”ฉํ–ˆ๋‹ค๋Š” ์ ์—์„œ ์ข‹์€ ์ฝ”๋“œ๋Š” ์•„๋‹ˆ๋ผ๋Š” ์ƒ๊ฐ์ด ๋“ ๋‹ค.

 

 

 

 

๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด

 function solution(quiz) {
     var answer = [];
     return quiz.map(t => {
         const [calc, result] = t.split(' = ');
         const sign = calc.includes('+') ? 1 : -1
         const [a, b] = calc.split(sign === 1 ? ' + ' : ' - ');

         return +a + (+b * sign) === +result ? 'O' : 'X'
     });
 }

๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด๋‹ค. ๊ณต๋ฐฑ์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆˆ ๋‚˜์™€ ๋‹ฌ๋ฆฌ ์ด ํ’€์ด๋Š” =์„ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„์—ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ๋ถ€๋ถ„๋„ includes ๋ฉ”์„œ๋“œ๋ฅผ ์ด์šฉํ•ด์„œ ์ฒ˜๋ฆฌํ•ด์ฃผ์—ˆ๋‹ค.

์†๋„ ๋ฉด์—์„œ๋Š” ์ˆœ์ˆ˜ for๋ฌธ์„ ์‚ฌ์šฉํ•œ ๋‚ด ํ’€์ด๊ฐ€ 0.03์ดˆ ์ •๋„ ๋” ๋นจ๋ž์ง€๋งŒ, ์ด ์ฝ”๋“œ๊ฐ€ ๊ฐ€๋…์„ฑ์ด ๋” ์ข‹๋‹ค๊ณ  ๋Š๊ปด์ง„๋‹ค.

 

 

 

728x90