알고리즘/프로그래머스 - JS

[프로그래머스-JS] level.1 숫자 문자열과 영단어

개발자성장기 2022. 6. 14. 14:19
반응형

https://programmers.co.kr/learn/courses/30/lessons/81301

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

 

 

 

딱 보고 생각이나지 않았다

 

이것도 정규식과 replace를 이용해서 바꾸는 건가 ? 

그럼 어떤 영단어인지 인식하고 그것을 숫자로 바꿔야하는데 

 

 

나의코드

function solution(s) {    
    const data = [{zero:"0"}, {one:1}, {two:2}, {three:3}, {four:4}, {five:5},  {six:6}, {seven:7}, {eight:8}, {nine:9}]   
    const preCheck = (number)=> { 
        const result = data.find(row => row[number]);
        return Object.values(result).join()
    }
    const numbers = /zero|one|two|three|four|five|six|seven|eight|nine/g
    const answer = s.replace(numbers, preCheck) 

    return +answer;
}

 

일단 객체를 사용하는 법과 정확한 map의 사용법 그리고 replace 개념을 정확하게 알지 못해서 시간이 오래 걸렸다. 

다시한번 개념정리 지금 바로 꼬꼬

 

 

 

반응형