문제 46. 숫자 문자열과 영단어(Dictionary)
문제를 보고 딕셔너리(dictionary)를 사용해야 한다고 판단했다.
하지만, JavaScript에서 딕셔너리를 사용해 본 경험이 없었다.
찾아 본 결과,
선언은
let dictionary = {}
으로 가능하고,
let dictionary =
{
key : values,
key : values,
key : values
}
로 선언 및 초기화가 가능했다.
선언만 하고 내용을 추가할 때는
dictionary[key] = values
로 가능했다.
삭제는
delete dictionary[key] = values
로 delete만 붙여주면 됐다.
dictionary의 모든 key값을 확인하는 방법은
Object.key(dictionary)
로 가능했고, 모든 values값을 확인하는 방법은
Object.values(dictionary)
로 가능했다.
특정 키워드가 dictionary의 key로 존재하는지 확인 방법은
'특정 키워드' in dictionary
로 가능했다.
위의 내용들을 활용해 코드를 작성하면
제출한 코드 :
function solution(s) {
let dict =
{
'zero' : 0,
'one' : 1,
'two' : 2,
'three' : 3,
'four' : 4,
'five' : 5,
'six' : 6,
'seven' : 7,
'eight' : 8,
'nine' : 9
}
let answer = ''
let temp = ''
for(let i = 0; i < s.length; i++)
{
if(!isNaN(Number(s[i]))) answer += s[i]
else temp += s[i]
if(temp in dict)
{
answer += dict[temp]
temp = ''
}
}
return Number(answer)
}