[ํ๋ก๊ทธ๋๋จธ์ค] ๋คํญ์ ๋ํ๊ธฐ (JavaScript ๋ฌธ์ ํ์ด)CS/Solutions2023. 12. 25. 22:05
Table of Contents
๋ฐ์ํ
๐ ๋ฌธ์ ์ค๋ช
ํ ๊ฐ ์ด์์ ํญ์ ํฉ์ผ๋ก ์ด๋ฃจ์ด์ง ์์ ๋คํญ์์ด๋ผ๊ณ ํฉ๋๋ค. ๋คํญ์์ ๊ณ์ฐํ ๋๋ ๋๋ฅํญ๋ผ๋ฆฌ ๊ณ์ฐํด ์ ๋ฆฌํฉ๋๋ค. ๋ง์
์ผ๋ก ์ด๋ฃจ์ด์ง ๋คํญ์ polynomial
์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋๋ฅํญ๋ผ๋ฆฌ ๋ํ ๊ฒฐ๊ด๊ฐ์ ๋ฌธ์์ด๋ก return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด๋ณด์ธ์. ๊ฐ์ ์์ด๋ผ๋ฉด ๊ฐ์ฅ ์งง์ ์์์ return ํฉ๋๋ค.
๐ ์ ํ์ฌํญ
- 0 <
polynomial
์ ์๋ ์ < 100 polynomial
์ ๋ณ์๋ 'x'๋ง ์กด์ฌํฉ๋๋ค.polynomial
์ ์์ ์ ์, ๊ณต๋ฐฑ, ‘x’, ‘+'๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.- ํญ๊ณผ ์ฐ์ฐ๊ธฐํธ ์ฌ์ด์๋ ํญ์ ๊ณต๋ฐฑ์ด ์กด์ฌํฉ๋๋ค.
- ๊ณต๋ฐฑ์ ์ฐ์๋์ง ์์ผ๋ฉฐ ์์์ด๋ ๋์๋ ๊ณต๋ฐฑ์ด ์์ต๋๋ค.
- ํ๋์ ํญ์์ ๋ณ์๊ฐ ์ซ์ ์์ ์ค๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- " + 3xx + + x7 + "์ ๊ฐ์ ์๋ชป๋ ์ ๋ ฅ์ ์ฃผ์ด์ง์ง ์์ต๋๋ค.
- 0์ผ๋ก ์์ํ๋ ์๋ ์์ต๋๋ค.
- ๋ฌธ์์ ์ซ์ ์ฌ์ด์ ๊ณฑํ๊ธฐ๋ ์๋ตํฉ๋๋ค.
polynomial
์๋ ์ผ์ฐจ ํญ๊ณผ ์์ํญ๋ง ์กด์ฌํฉ๋๋ค.- ๊ณ์ 1์ ์๋ตํฉ๋๋ค.
- ๊ฒฐ๊ด๊ฐ์ ์์ํญ์ ๋ง์ง๋ง์ ๋ก๋๋ค.
- 0 <
polynomial
์ ๊ธธ์ด < 50
๐ฅ ์ ์ถ๋ ฅ ์
polynomial | result |
"3x + 7 + x" | "4x + 7" |
"x + x + x" | "3x" |
๐ป ๋์ ํ์ด
- ๋คํญ์ ๋ถ๋ฆฌ: ์ฃผ์ด์ง ๋คํญ์์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฆฌํฉ๋๋ค.
- ๋๋ฅํญ ๊ณ์ฐ: ์ผ์ฐจ ํญ๊ณผ ์์ํญ์ ๋ถ๋ฆฌํ์ฌ ๊ฐ๊ฐ์ ๊ณ์๋ฅผ ํฉ์ฐํฉ๋๋ค.
- ๊ฒฐ๊ณผ ์กฐํฉ: ๊ณ์ฐ๋ ๊ณ์๋ฅผ ๋ฐํ์ผ๋ก ์๋ก์ด ๋คํญ์์ ์์ฑํฉ๋๋ค.
function solution(polynomial) {
let xTerm = 0;
let constant = 0;
polynomial.split(" + ").forEach(term => {
if (term.includes("x")) {
const coefficient = term.replace("x", "") || "1";
xTerm += parseInt(coefficient);
} else {
constant += parseInt(term);
}
});
let result = "";
if (xTerm === 1) result += "x";
else if (xTerm > 1) result += xTerm + "x";
if (constant > 0) {
if (result.length > 0) result += " + ";
result += constant;
}
return result;
}
๋ฐ์ํ
'CS > Solutions' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
@์ค๋น :: console.log("Hello, World!");
ํฌ์คํ ์ด ์ข์๋ค๋ฉด "์ข์์โค๏ธ" ๋๋ "๊ตฌ๋ ๐๐ป" ํด์ฃผ์ธ์!