숫자 문자열과 영단어 [Java]

sua·2022년 12월 27일
0

문제



풀이

class Solution {
    public int solution(String s) {
        int answer = 0;
        
        while(true) {
            if(s.contains("zero")) {
                s = s.replaceAll("zero", "0");
            } else if(s.contains("one")) {
                s = s.replaceAll("one", "1");
            } else if(s.contains("two")) {
                s = s.replaceAll("two", "2");
            } else if(s.contains("three")) {
                s = s.replaceAll("three", "3");
            } else if(s.contains("four")) {
                s = s.replaceAll("four", "4");
            } else if(s.contains("five")) {
                s = s.replaceAll("five", "5");
            } else if(s.contains("six")) {
                s = s.replaceAll("six", "6");
            } else if(s.contains("seven")) {
                s = s.replaceAll("seven", "7");
            } else if(s.contains("eight")) {
                s = s.replaceAll("eight", "8");
            } else if(s.contains("nine")) {
                s = s.replaceAll("nine", "9");
            } else {
                break;
            }
        }
        
        
        answer = Integer.parseInt(s);
        
        
        return answer;
    }
}

while문으로 무한 반복을 한뒤 문자열 s가 one부터 nine까지 contains으로 포함여부를 확인하고 포함되는 문자열이 있다면 해당 문자열을 숫자 문자열로 replaceAll로 바꿔준다. 그런 다음 contains에 해당하지 않는 경우는 모두 숫자로 바뀐 경우이므로 break문으로 루프를 빠져나올 수 있게 한다. 그런 다음 문자열 s를 Integer.parseInt 메소드로 정수로 변경해서 answer에 할당해주면 된다.

결과

profile
가보자고

0개의 댓글

관련 채용 정보