devFancy BE Developer

[Programmers] 81301. 숫자 문자열과 영단어

2023-01-20
devfancy

문제 링크

성능 요약

메모리: 72.9 MB, 시간: 0.28 ms

구분

코딩테스트 연습 > 2021 카카오 채용연계형 인턴십

Answer Code1(23.01.20)

class Solution {
    public int solution(String s) {
        String[] strArr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        for(int i = 0; i < strArr.length; i++) {
            s = s.replaceAll(strArr[i], Integer.toString(i));
        }
        return Integer.parseInt(s);
    }
}

문제풀이

  • Integer.toString(i) : 숫자를 문자로 변환하는 형 변환 방법이다.

  • String replaceAll(String regex, String replacement) : replace() 함수와 같이 첫번째 인자값은 변환하고자 하는 대상이 되는 문자열이며, 두번째 인자 값은 변환할 문자 값입니다.

    • 위에 있는 s.replaceAll(strArr[i], Integer.toString(i)); : strArr[i]을 Integer.toString(i)으로 변환한다는 의미이다.
  • 그리고 result가 숫자로 출력되어야하므로 Integer.parseInt()를 쓴 것이다.

Review

  • replace() 함수와 숫자를 문자로 변환하는 Integer.toString() 잊어버리지 말자.

Comments

Index