Language/JAVA

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

paran21 2022. 1. 27. 10:32

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

문자열에 포함된 영단어가 있을 때 이를 숫자로 바꿔주는 문제이다.

처음에는 배열로 변환해서 바꿔야 한다고 생각해서, 이걸 어떻게 배열로 바꾸지 고민했는데

문자열을 대체할 수 있는 replace를 사용해서 해당하는 문자의 값을 바꾸면 된다.

class Solution {
    public int solution(String s) {
        String[] arr = new String[]{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        for (int i = 0; i < arr.length; i++) {
            //포함하고 있을 경우
            if (s.contains(arr[i])) {
                //숫자 i로 바꿈
                s = s.replace(arr[i], String.valueOf(i));
            }
        }
        //int로 변환
        int answer = Integer.parseInt(s);
        return answer;
    }
}