CodeKata | Week 1 - Day 2

์ฝ”๋”ฉํ•˜๋Š”๋ถ•์–ดยท2021๋…„ 6์›” 22์ผ
0

์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ชฉ๋ก ๋ณด๊ธฐ
2/12
post-thumbnail

๐Ÿ•ฐ reverse ํ•จ์ˆ˜์— ์ •์ˆ˜์ธ ์ˆซ์ž๋ฅผ ์ธ์ž๋กœ ๋ฐ›์Šต๋‹ˆ๋‹ค. ๊ทธ ์ˆซ์ž๋ฅผ ๋’ค์ง‘์–ด์„œ returnํ•ด ์ฃผ์„ธ์š”.

x: ์ˆซ์ž return: ๋’ค์ง‘์–ด์ง„ ์ˆซ์ž๋ฅผ ๋ฐ˜ํ™˜!

์˜ˆ๋ฅผ ๋“ค์–ด, x: 1234 return: 4321

x: -1234 return: -4321

x: 1230 return: 321



๐Ÿ’ก My Solution

const reverse = x => {
  let arr = x.toString().split('');  // toString์„ ์‚ฌ์šฉํ•ด์„œ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ”์ฃผ๊ณ  split('')์„ ์‚ฌ์šฉํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๋ฌธ์ž์—ด๋กœ ๋‚˜๋ˆˆ๋‹ค.
  
  arr.reverse();  // ๊ฑฐ๊พธ๋กœ ์ถœ๋ ฅํ•œ๋‹ค.
  
  if (arr[arr.length-1] == '-') {  // arr ๋ฐฐ์—ด์˜ ๊ธธ์ด ์•ˆ์—์„œ '-'๊ฐ€ ์žˆ์œผ๋ฉด
    arr.pop();  // ๋ฐฐ์—ด์—์„œ ๋งˆ์ง€๋ง‰ ์š”์†Œ๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.
    arr.unshift('-');  // ๋ฐฐ์—ด์˜ ๋งจ ์ฒซ ๋ถ€๋ถ„์— '-'์„ ๋„ฃ๋Š”๋‹ค.
  }
    const value = arr.join('');  // ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์—ฐ๊ฒฐํ•ด ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“ ๋‹ค.
    const result = parseInt(value);  // ๋ฌธ์ž์—ด๋กœ ๋งŒ๋“  ๊ฒƒ์„ ์ˆซ์žํ˜•์œผ๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค.
    return result;
}

์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€์„œ ์†๋„ ๋ชป๋Œ€๋˜ ๋ฌธ์ œ์˜€์Œ ใ… 
๋‹คํ–‰ํžˆ CodeKata ์ง๊ฟ์ธ ๊ณ ์ˆ˜ ์—ด์Œ๋‹˜์ด ์ฒ˜์Œ๋ถ€ํ„ฐ ์ฐจ๊ทผ์ฐจ๊ทผ ์„ค๋ช…ํ•ด์ฃผ์…จ๋‹ค!!
์—ด์Œ๋‹˜์ด ๋ฐฉํ–ฅ์„ฑ์„ ์ œ์‹œํ•ด์ฃผ์‹œ๋ฉด ๊ทธ๊ฑธ ๋‚ด๊ฐ€ ์ฝ”๋“œ๋กœ ์งœ๋ณด๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ๋Š”๋ฐ
๋“ฃ๊ธฐ๋งŒํ–ˆ์„๋• 50%์ •๋„ ์ดํ•ด๊ฐ€ ๊ฐ€๋˜๊ฒŒ ๊ณ ๋ฏผํ•˜๋ฉด์„œ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์งœ๋ณด๋‹ˆ๊นŒ ํ™•์‹คํžˆ ์ดํ•ด๊ฐ€ ๊ฐ”๋‹ค!
์—ญ์‹œ ๊ฒฝํ—˜๋งŒํผ ์ค‘์š”ํ•œ๊ฑด ์—†๋Š” ๊ฒƒ ๊ฐ™๋‹ค
์ง๊ฟ ์—ด์Œ๋‹˜ ์•ž์œผ๋กœ๋„ ์ž˜ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค ๐Ÿ™๐Ÿป

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด