2021 카카오 채용연계형 인턴십 - 숫자 문자열과 영단어

서은경·2022년 6월 7일
0

CodingTest

목록 보기
22/71
public static int solution(String s) {
        int answer = 0;

        HashMap<String, String> map = new HashMap<>();
        for (int i = 0; i < 10; i++) {
            String str = "";
            switch (i) {
                case 0 : str = "zero"; break;
                case 1 : str = "one"; break;
                case 2 : str = "two"; break;
                case 3 : str = "three"; break;
                case 4 : str = "four"; break;
                case 5 : str = "five"; break;
                case 6 : str = "six"; break;
                case 7 : str = "seven"; break;
                case 8 : str = "eight"; break;
                case 9 : str = "nine"; break;
            }
            map.put(str, Integer.toString(i));
        }

        for (String ss : map.keySet()) {
            if (s.contains(ss)) {
                s = s.replace(ss, map.get(ss));
            }
        }
        System.out.println(s);
        answer = Integer.parseInt(s);
        return answer;
    }

오 이렇게 하면 ㄷㅓ 쉬웠을텐데..

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);
    }

0개의 댓글

관련 채용 정보