문제 풀기/JavaScripts

문제 46. 숫자 문자열과 영단어(Dictionary)

kagan-draca 2024. 7. 29. 16:47

 

문제를 보고 딕셔너리(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)
}