카테고리 없음

[프로그래머스] 숫자 문자열과 영단어

ku-na 2022. 1. 4. 13:18

문제 설명과 제한사항

숫자 0 1 2 3 4 5 6 7 8 9
영단어 zero one two three four five six seven seven nine

 

풀이

class Solution {
    public int solution(String s) {
        String[] eng = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        String[] num = {"0","1","2","3","4","5","6","7","8","9"};
        String tmp = s;
        for(int i = 0; i < eng.length; i++){
            tmp = tmp.replace(eng[i],num[i]);
        }
        
        return Integer.parseInt(tmp);
    }
}

 

++

간단한 매칭 문제 였다. 다른 분들의 풀이를 봤는데, 맵을 사용하시는 분도 있었다.

생각 하지 못했던 부분은 num 배열을 만들 필요 없이 i를 문자열로 치환해서 사용이 가능하다는 부분이었다.

tmp = tmp.replace(eng[i],Integer.toString(i));

 

그리고 문자열 -> 정수, 정수 -> 문자열 치환

Integer.parseInt(String a)  : 문자열 a를 정수로 치환

Integer.toString(int a) : 정수 a를 문자열로 치환

그만 까먹었으면 좋겠다.