๐ ๋งค์ผ ์์นจ 10์์์ 11์๊น์ง code kata(์๊ณ ๋ฆฌ์ฆ) ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ๋ฌธ์ ํธ๋ ๋ฅ๋ ฅ์ ๊ธฐ๋ฅด๊ณ ์๊ฐํ๋ ์๊ฐ์ ๊ฐ์ง๋ค.
๐ Day2. ๋ฌธ์
Q. reverse ํจ์์ ์ ์์ธ ์ซ์๋ฅผ ์ธ์๋ก ๋ฐ์ต๋๋ค. ๊ทธ ์ซ์๋ฅผ ๋ค์ง์ด์ returnํด์ฃผ์ธ์.
x: ์ซ์ return: ๋ค์ง์ด์ง ์ซ์๋ฅผ ๋ฐํ!
์๋ค ๋ค์ด, x: 1234 return: 4321
x: -1234 return: -4321
x: 1230 return: 321
๐คฏ ์๋ ์์ฑํ ์ฝ๋
const reverse = x => {
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์.
let arr = x.toString().split('').reverse();
console.log(arr)
}
๐ x์ ๋ค์ด์ค๋ ์ธ์ ๊ฐ์ ๋ฌธ์์ด๋ก ๋ณํํด์ผ ๋๋ค๊ณ ์๊ฐํด์ toString()๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ , ํ ์ซ์๋ง๋ค ์ชผ๊ฐ๋ ค๊ณ split("")๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ณ , ๋ฐฐ์ด์ ์ซ์๋ค์ ๊ฑฐ๊พธ๋ก ๋ค์ง์ด์ผ๋์ reverse()๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋๊ฒ ๊น์ง ์๊ฐํด๋ณด์๋ค. ๊ทธ๋ค์ ์ฝ๋๋ถํฐ ๋งํ์ ๊ตฌ๊ธ๋ง์ ํ๊ณ , ๋๊ธฐ๋คํํ
๋ฌผ์ด๋ณด๋ฉด์ ์ ๋ต์ ๋์ถํด ๋ณด์๊ณ ๋ค์ ์ฝ๋๋ฅผ ์ง ๋ณด์๋ค. ๐
โ๏ธ ๋ฌธ์ ์ ๋ต ์ฝ๋
const reverse = x => {
// ์ฌ๊ธฐ์ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ์ธ์.
let arr = x.toString().split('').reverse();
console.log(arr)
// let newArr = [];
if (arr[arr.length - 1] === '-'){
arr.pop();
arr.unshift('-');
}
else if (arr[0] === 0){
arr.shift();
}
return Number(arr.join(''))
}
โ ๊ทธ๋์ arr ๋ฐฐ์ด์ ์ธ๋ฑ์ค๊ฐ '-'์ ๊ฐ๋ค๋ฉด pop๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ํด๋น ์์์ธ '-'์ ๊ฑฐํ๊ณ ๋ค์ ๋ฐํ์ํจ ํ์ unshift๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋งจ ์์ชฝ์ '-'๋ฅผ ์ถ๊ฐํ๋ค. arr๋ฐฐ์ด์ 0๋ฒ์งธ ์ธ๋ฑ์ค๊ฐ ์ซ์ 0๊ณผ ๊ฐ๋ค๋ฉด shift๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ์ฒซ๋ฒ์งธ ์์๋ฅผ ์ ๊ฑฐํ๋ค.