Skip to content

[Leetcode] 8. String to Integer (atoi) โ€‹

Problem โ€‹

๋ฌธ์ œ ๋งํฌ

C ์–ธ์–ด์˜ atoi๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฌธ์ œ

Solution โ€‹

์ •๊ทœ์‹์„ ์ด์šฉํ•˜์—ฌ ๋ถ€ํ˜ธ(+,-)์™€ ์ˆซ์ž๋งŒ ๊ฐ€์ง€๊ณ ์˜จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ •๊ทœ์‹์œผ๋กœ ๊ฐ’์„ ์ฐพ์ง€ ๋ชปํ–ˆ์„๋•Œ 0์„ ๊ฐ€์ง€๋Š” ๋ฐฐ์—ด์„ ๋ฐ˜๋‚ฉํ•˜๋„๋กํ•œ๋‹ค.
integer ๋ฒ”์œ„ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌ๋ฅผํ•˜๊ณ  ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜์ง€์•Š์œผ๋ฉด ๊ทธ๋Œ€๋กœ ๋ฆฌํ„ดํ•œ๋‹ค

JS Code โ€‹

js
/**
 * @param {string} s
 * @return {number}
 */
var myAtoi = function(s) {
  
  s = s.trim().match(/^[-+]?\d+/) || [0]
  s = s[0]
  
  if (!s) return 0
  if (parseInt(s) < -Math.pow(2,31)) return -Math.pow(2,31)
  else if(Math.pow(2,31)-1 < parseInt(s)) return Math.pow(2,31)-1
  else return parseInt(s)
}