리트코드 - #8 String to Integer (atoi) (Medium)
var myAtoi = function(s) {
let min = Math.pow(2, 31) * (-1);
let max = Math.pow(2, 31) - 1;
let number = "0";
let index = 0;
let sign = "+";
while (s.charAt(index) == ' ') { index++; }
if (s.length > index && (s.charAt(index) == '-' || s.charAt(index) == '+')) {
sign = s.charAt(index);
index++;
}
while (s.length > index && s.charAt(index) >= '0' && s.charAt(index) <= '9') {
number += s.charAt(index);
index++;
}
number = parseInt(number) * (sign == '+' ? 1 : -1);
if (min > number) {
return min;
} else if (max < number) {
return max;
} else {
return number;
}
};
일단 공백을 전부 없애고
+나 - 문자가 나오는지 확인
(한 번 나왔는데 또 나오면 종료) => ex) test case : +-12 => answer: 0
그 다음 숫자가 오는지 확인
(만약 영문자나 .이 온다면 종료)
ex)
test case : .2 => answer: 0
test case : word 2 => answer: 0