[프로그래머스] 카카오21 인턴십 - 숫자 문자열과 영단어

yoon Y·2022년 4월 10일
0

알고리즘 문풀

목록 보기
1/6

문제 링크

다른 분의 풀이

// replace와 정규식 사용

function solution(s) {
    let answer = 0;
    
    s = s.replace(/zero/g, 0);
    s = s.replace(/one/g, 1);
    s = s.replace(/two/g, 2);
    s = s.replace(/three/g, 3);
    s = s.replace(/four/g, 4);
    s = s.replace(/five/g, 5);
    s = s.replace(/six/g, 6);
    s = s.replace(/seven/g, 7);
    s = s.replace(/eight/g, 8);
    s = s.replace(/nine/g, 9);
    
    answer = Number(s);
    return answer;
}
// split과 join사용

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

    for(let i = 0; i < numbers.length; i++) {
        let arr = answer.split(numbers[i]);
        answer = arr.join(i);
    }

    return Number(answer);
}

1번은 정규식을 사용해 연속적으로 숫자로 대치하는 방법을 사용했다
2번은 split과 join을 사용해 문자열을 숫자로 대치하는 로직을 사용했다


나의 문제점

  • str관련 함수 이해 부족
  • 문자 하나하나를 뽑아서 그에 맞게 연산하려했는데, 문자를 일단 전부 숫자로 바꾸고 연산하는 게 더 간결한 방법이었다
profile
#프론트엔드

0개의 댓글