๋ฌธ์
reverse ํจ์์ ์ ์์ธ ์ซ์๋ฅผ ์ธ์๋ก ๋ฐ์ต๋๋ค. ๊ทธ ์ซ์๋ฅผ ๋ค์ง์ด์ returnํด์ฃผ์ธ์.
x: ์ซ์ return: ๋ค์ง์ด์ง ์ซ์๋ฅผ ๋ฐํ!
์๋ค ๋ค์ด, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321
ํ์ด
- ์ซ์๋ฅผ ๋ฌธ์๋ก ๋ณ๊ฒฝ - .toString (์ซ์๋ ๊ฑฐ๊พธ๋ก๊ฐ ์๋จ)
- ๋ฌธ์์ ์์๋ฅผ ๋ฐฐ์ด๋ก ๋ง๋ค๊ธฐ - .split("")
- ๋ฐฐ์ด ๊ฑฐ๊พธ๋กํ๊ธฐ๊ธฐ - .reverse()
- -๊ฐ ๋งจ๋ค๋ก๊ฐ๋๊น -๋นผ๋ด์ -๋ฅผ ์์ผ๋ก ๋ณด๋ด๊ธฐ
- ์ฒ์ ์๋ฆฌ์ 0์ด ์ค๋ฉด ์ฒ์ ์๋ฆฌ ์์ ๊ธฐ
- ๋ถ๋ฆฌ ๋์ด์๋ ๋ฐฐ์ด์ ์กฐ์ธํด์ฃผ๊ณ , ์ซ์๋ก ๋ณํ
์์ฑํ ์ฝ๋
const reverse = x => {
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์.
let string = x.toString().split("").reverse();
if (string.includes("-")){
string.pop();
string.unshift("-");
}
if (string[0] === 0){
string.shift();
}
return Number(string.join(""));
}
replit test์์๋ ํต๊ณผ ํ์ง๋ง,
๋ฌธ์ ์์ x: 1230 return: 321 ์ด ์์์ ๋ฌธ์ ๊ฐ ์ข ์์๋ค.
๋ง์ฝ x: 12300100 ์ด๋ผ๋ฉด??
[ 0, 0, 1, 0, 0, 3, 2, 1 ]
์์ 0์ด 2๊ฐ ์ฌ ์๋ ์๋ค๋๊ฒ์ ๊ฐ๊ณผํ๋ค.
๊ทธ๋์ ์๋์ ์ฝ๋๋ก ์งํ๋์ด ์์ ํด์ฃผ์
จ๋ค๐คฉ
์ฝ๋(๋ฐฉ๋ฒ1)
const reverse = x => {
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์.
let string = x.toString().split("").reverse();
if (string.includes("-")){
string.pop();
string.unshift("-");
}
if (string[0] == 0){
string.some(()=>{
for(i = 0 ; i < string.length-1 ; i++) {
string.shift();
}
}}
}
return Number(string.join(""));
}
์์ ์ฝ๋์์ ๋ถ์กฑํ๋ ๋ถ๋ถ์ธ 0์ด ์ฌ๋ฌ๊ฐ ์์ผ๋ก ์ฌ ์ ์๋ค๋ ์ ์ ๋ณด์ํ ์ฝ๋์ด๋ค.
for๋ฌธ ์ด์ฉํ์ฌ, ๋ฌธ์์ ์ธ๋ฑ์ค์ 0๋ฒ๋ถํฐ ๋์
ํ๋ ๋ฐฉ๋ฒ์ผ๋ก ํ์ฌ ์์ 0์ด ์์ด์ง๋๋ก ํ์๋ค.
'TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TIL :: [React ] ๋ก๊ทธ์ธ ๋ฒํผ ํ์ฑํ (0) | 2022.05.26 |
---|---|
TIL :: [React] React Router, Sass (0) | 2022.05.25 |
TIL :: code-kata-js / (1) (0) | 2022.05.24 |
TIL :: JavaScript / replit. 25~30 (0) | 2022.05.18 |
TIL :: DOM + Event (0) | 2022.05.17 |