Jieunny์ ๋ธ๋ก๊ทธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋คํญ์ ๋ํ๊ธฐ ๋ณธ๋ฌธ
๐ ๋ฌธ์
ํ ๊ฐ ์ด์์ ํญ์ ํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์์ ๋คํญ์์ด๋ผ๊ณ ํฉ๋๋ค. ๋คํญ์์ ๊ณ์ฐํ ๋๋ ๋๋ฅํญ๋ผ๋ฆฌ ๊ณ์ฐํด ์ ๋ฆฌํฉ๋๋ค. ๋ง์ ์ผ๋ก ์ด๋ฃจ์ด์ง ๋คํญ์ polynomial์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋๋ฅํญ๋ผ๋ฆฌ ๋ํ ๊ฒฐ๊ด๊ฐ์ ๋ฌธ์์ด๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๊ฐ์ ์์ด๋ผ๋ฉด ๊ฐ์ฅ ์งง์ ์์์ return ํฉ๋๋ค.
์ ํ์ฌํญ
- 0 < polynomial์ ์๋ ์ < 100
- polynomial์ ๋ณ์๋ 'x'๋ง ์กด์ฌํฉ๋๋ค.
- polynomial์ 0๋ถํฐ 9๊น์ง์ ์ ์, ๊ณต๋ฐฑ, ‘x’, ‘+'๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ํญ๊ณผ ์ฐ์ฐ๊ธฐํธ ์ฌ์ด์๋ ํญ์ ๊ณต๋ฐฑ์ด ์กด์ฌํฉ๋๋ค.
- ๊ณต๋ฐฑ์ ์ฐ์๋์ง ์์ผ๋ฉฐ ์์์ด๋ ๋์๋ ๊ณต๋ฐฑ์ด ์์ต๋๋ค.
- ํ๋์ ํญ์์ ๋ณ์๊ฐ ์ซ์ ์์ ์ค๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- " + 3xx + + x7 + "์ ๊ฐ์ ์๋ชป๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- "012x + 001"์ฒ๋ผ 0์ ์ ์ธํ๊ณ ๋ 0์ผ๋ก ์์ํ๋ ์๋ ์์ต๋๋ค.
- ๋ฌธ์์ ์ซ์ ์ฌ์ด์ ๊ณฑํ๊ธฐ๋ ์๋ตํฉ๋๋ค.
- polynomial์๋ ์ผ์ฐจ ํญ๊ณผ ์์ํญ๋ง ์กด์ฌํฉ๋๋ค.
- ๊ณ์ 1์ ์๋ตํฉ๋๋ค.
- ๊ฒฐ๊ด๊ฐ์ ์์ํญ์ ๋ง์ง๋ง์ ๋ก๋๋ค.
- 0 < polynomial์ ๊ธธ์ด < 50
๐ก ์์ด๋์ด
polynomial์ ๊ณต๋ฐฑ์ผ๋ก ๋๋๊ณ , x์ธ ๊ฒฝ์ฐ/ + ์ธ ๊ฒฝ์ฐ/ ์ซ์์ธ ๊ฒฝ์ฐ๋ฅผ ๋๋ ์ ๋ฐฐ์ด์ ์ ์ฅํ๋ค.
์ด์ฐจํผ ๋ํ๊ธฐ๋ง ์ฃผ์ด์ง๊ธฐ ๋๋ฌธ์, x์์ ์ซ์๋ฅผ ๋ชจ๋ ๋ํ๊ณ , ์ซ์๋ ๋ฐ๋ก ๋ํด์ x๊ฐ์ x๋ฅผ ๋ถ์ฌ์ answer์ ๋ํด์ค๋ค.
์ด๋ ์ฐ์ฐ ๊ฒฐ๊ณผ๊ฐ '0' ์ผ ๊ฒฝ์ฐ, x์ ๊ณ์๊ฐ 1์ด๋ 0์ผ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด์ฃผ์ด์ผ ํ๋ค.
โ๏ธ ํ์ด
function solution(polynomial) {
var answer = '';
let arr = polynomial.split(" ");
let xArr = [];
let valueArr = [];
let xSum = 0;
let valueSum = 0;
for(let i of arr){
if(i.includes('x')) xArr.push(i);
else if(i.includes('x') === false && i !== '+') valueArr.push(i);
}
for(let i of xArr){
let xIndex = i.indexOf('x');
if(i === 'x') xSum += 1;
else xSum += Number(i.slice(0, xIndex));
}
for(let i of valueArr){
valueSum += Number(i);
}
if(xSum !== 0 && xSum !== 1) answer += `${xSum}x`;
else if(xSum === 1) answer += 'x';
else answer += '';
if(valueSum !== 0 && xSum !== 0) answer += ` + ${valueSum}`;
else if(valueSum !== 0) answer += `${valueSum}`;
else answer += '';
if (answer === '') answer += '0';
return answer;
}
'Study > Coding Test' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ํน์ดํ ์ ๋ ฌ (0) | 2023.02.06 |
---|---|
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ ์ฃผ์ ์ซ์ 3 (0) | 2023.02.06 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ๋ถ์์ ๋ง์ (0) | 2023.02.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์ฐ์๋ ์์ ํฉ (0) | 2023.02.03 |
[JS] ํ๋ก๊ทธ๋๋จธ์ค - ์์ ์ง๋ (0) | 2023.02.03 |