숫자 문자열과 영단어 Lv. 1

박영준·2023년 6월 21일
0

코딩테스트

목록 보기
267/300
class Solution {
    public int solution(String s) {
        int answer = 0;
        return answer;
    }
}

해결법

방법 1

class Solution {
    public int solution(String s) {
        
        String[] words = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};  
        
        // 숫자는 0 ~ 9까지 10개
        for (int i = 0; i < 10; i++) {
            s = s.replace(words[i], Integer.toString(i));
        }
        
        int answer = Integer.parseInt(s);       // 문자열 -> 정수
        
        return answer;
    }
}
  • s = s.replace(words[i], Integer.toString(i));
    • num[i]를 i로 바꾸어주면 되는데, i는 Int형이므로 String으로 변환해야 오류가 나지 않는다.

방법 2

import java.util.*;

class Solution {
    public int solution(String s) {
        int answer = 0;
        
        String[] nums = {"0","1","2","3","4","5","6","7","8","9"};
        String[] words = {"zero","one","two","three","four","five","six","seven","eight","nine"};

        for (int i = 0; i < 10; i++) {
            s = s.replaceAll(words[i], nums[i]);
        }

        return Integer.parseInt(s);
    }
}
  • 배열을 두개 만들어 대체해주는 방법

숫자 문자열과 영단어 Lv. 1

profile
개발자로 거듭나기!

0개의 댓글