๋ฌธ์
๋ง์ , ๋บ์ ์์๋ค์ด '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์ด ์ ๋ ๋ ๋นจ๋์ง๋ง, ์ด ์ฝ๋๊ฐ ๊ฐ๋ ์ฑ์ด ๋ ์ข๋ค๊ณ ๋๊ปด์ง๋ค.
'๐ Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Javascript] ํ๋ก๊ทธ๋๋จธ์ค : ์์ฐ (0) | 2022.12.09 |
---|---|
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค : ๋ฐฐ์ด ํ์ ์ํค๊ธฐ (2) | 2022.12.02 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค : ์ต๋น๊ฐ ๊ตฌํ๊ธฐ (2) | 2022.11.15 |
์๊ณ ๋ฆฌ์ฆ์ ์๊ฐ๋ณต์ก๋์ Big-O (3) | 2022.04.29 |
[JS] ์๊ณ ๋ฆฌ์ฆ : ๋๋ฌด ๊ทธ๋ฆฌ๊ธฐ (๋ณ์ฐ๊ธฐ) (0) | 2022.04.18 |
Comment