티스토리 뷰

https://school.programmers.co.kr/learn/courses/30/lessons/120894

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


 

function solution(numbers) {
    const toNumber = {
        zero: '0',
        one: '1',
        two: '2',
        three: '3',
        four: '4',
        five: '5',
        six: '6',
        seven: '7',
        eight: '8',
        nine: '9'
    }
    let word = ''
    let answer = ''
    for(const str of numbers) {
        word += str
        if(toNumber[word]) {
            answer += toNumber[word]
            word = ''
        }
    }
    return +answer
}

 

인상 깊었던 다른 사람 풀이

function solution(numbers) {
    let words = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" ]

    words.forEach((word, idx) => {
        numbers = numbers.replaceAll(word, idx)
    })
    return +numbers
}

 

  1. 숫자 단어 배열(words)을 만듦
  2. forEach문을 활용해 words 배열을 순회
    1. 각 숫자 단어는 해당 인덱스와 같음 (zero -> [0], one -> [1], ..., nine -> [9])
    2. replaceAll()을 활용해 words 배열 안의 단어들을 해당 인덱스로 바꿈
  3. numbers를 Number로 형변환하여 반환

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함