[Programmers][Java] 숫자 문자열과 영단어 도움말

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

📒 문제


📒 제한사항

🌻 코드

class Solution {
    public int solution(String s) {
        String answer = "";
        int i = 0;
        
        // 문자열 s를 한 문자씩 검사 
        while(i<s.length()) {
        	// 숫자이면 String에 추가
            if (s.charAt(i) < 97) {
                answer += s.charAt(i);
                i++;
            }
            
            // 숫자가 아니라면 대응하는 숫자를 찾아야함
            else {
            	
                switch (s.charAt(i)) {
                    // 0일 경우
                    case 'z':
                        answer += '0';
                        i+=4;
                        break;
                    // 1일 경우
                    case 'o':
                        answer+='1';
                        i+=3;
                        break;
                    // 2, 3 일 경우
                    case 't':
                        if(s.charAt(i+1)=='w'){
                            answer+='2';
                            i+=3;
                            break;
                        }
                        else {
                            answer += '3';
                            i+=5;
                            break;
                        }
                    // 4, 5 일 경우     
                    case 'f':
                        if(s.charAt(i+1)=='o'){
                            answer+='4';
                            i+=4;
                            break;
                        }
                        else{
                            answer+='5';
                            i+=4;
                            break;
                        }
                    // 6, 7 일 경우 
                    case 's':
                        if(s.charAt(i+1)=='i'){
                            answer+='6';
                            i+=3;
                            break;
                        }
                        else{
                            answer+='7';
                            i+=5;
                            break;
                        }
                    // 8 일 경우
                    case 'e':
                        answer+='8';
                        i+=5;
                        break;
					//9 일경우 
                    case 'n':
                        answer+='9';
                        i+=4;
                        break;
                }
            }
        }
		
        // 문자열에 추가했기 때문에 정수형으로 변환 
        return Integer.parseInt(answer);
    }
}

💡 정리하기

👉 카카오 인턴십 코딩 테스트에 참여했을때 실제로 풀었던 문제라 문제를 푸는것은 어렵지 않았지만 그떄랑은 다른방식으로 풀고싶었는데 그러지 못해서 다시 생각해보고 다른 방법으로 풀어야겠다.

좋은 웹페이지 즐겨찾기