function solution(s) {
var answer = "";
const map = {
"zero":0,
"one":1,
"two":2,
"three":3,
"four":4,
"five":5,
"six":6,
"seven":7,
"eight":8,
"nine":9
};
let currentNumber = "";
for (let i=0; i<s.length; i++) {
const char = s[i];
if (Number.isNaN(parseInt(char,10))) {
currentNumber += char;
if (map.hasOwnProperty(currentNumber)) {
answer += map[currentNumber];
currentNumber = "";
}
}
else {
answer += char;
}
}
return parseInt(answer,10)
}
isNaN() 함수는 주어진 값이 숫자인지 여부를 확인하는 JavaScript 내장 함수입니다. 이름에서 알 수 있듯이 "Is Not a Number"의 약어입니다. 이 함수는 주어진 값이 숫자면 false를 반환하고, 숫자가 아니면 true를 반환합니다.
hasOwnProperty는 JavaScript 객체의 메서드 중 하나로, 해당 객체가 특정 속성을 직접 소유하고 있는지 여부를 확인하는 데 사용됩니다. 이 메서드는 상속된 속성을 확인하지 않고, 객체 자체에 속성이 존재하는지를 판단합니다.