티스토리 뷰

본 문제는 자바 언어를 사용하여 풀었습니다

 

 

** 블로그에는 해당 문제 풀이만 올리도록 하겠습니다~ 문제 내용은 아래를 참고해주세요! **

 

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

풀이

처음 문제를 풀 때는 정답이고 직관적이었지만 풀면서도 이렇게(?) 풀면 안되겠다 싶었다

class Solution {
     public int solution(String s) {
        String t="";
        int answer ;
       while (s.length() >= 1){
            if (s.charAt(0)=='z'){
                t += '0' ;
                s=s.substring(4);
            } else if (s.charAt(0)=='o') {
                t += '1';
                s=s.substring(3);
            } else if (s.charAt(0)=='t') {
                if (s.charAt(0+1)=='w'){
                    t += '2';
                    s=s.substring(3);
                }else {
                    t += '3';
                    s=s.substring(5);
                }
            }else if (s.charAt(0)=='f') {
                if (s.charAt(0+1)=='o'){
                    t += '4';
                    s=s.substring(4);
                }else {
                    t += '5';
                    s=s.substring(4);
                }
            }else if (s.charAt(0)=='s') {
                if (s.charAt(0+1)=='i'){
                    t += '6';
                    s=s.substring(3);
                }else {
                    t += '7';
                    s=s.substring(5);
                }
            }else if (s.charAt(0)=='e') {
                t += '8';
                s=s.substring(5);
            }else if (s.charAt(0)=='n') {
                t += '9';
                s=s.substring(4);
             }else{
                t += s.charAt(0);
                s = s.substring(1);
            }
        }
        try {
            answer  = Integer.parseInt(t);
        }catch (NumberFormatException x){
            x.printStackTrace();
            answer = 0;
        }
        return answer;
    };
}

 

풀이는 입력된 영단어의 첫 글자에 따라 if문으로 문자열 t에 값을 채워주었다 ex) zero 일 경우 첫 글자가 z이면 t+=0 ...

 

이 후에 코드를 간결히 수정해 봐야겠다.... 일단 정답이니