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


📒 제한사항

🌻 코드
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);
    }
}
💡 정리하기
👉 카카오 인턴십 코딩 테스트에 참여했을때 실제로 풀었던 문제라 문제를 푸는것은 어렵지 않았지만 그떄랑은 다른방식으로 풀고싶었는데 그러지 못해서 다시 생각해보고 다른 방법으로 풀어야겠다.
                
                    
        
    
    
    
    
    
                
                
                
                
                    
                        
                            
                            
                            Author And Source
                            
                            이 문제에 관하여([Programmers][Java] 숫자 문자열과 영단어 도움말), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
                                
                                https://velog.io/@hye_b/ProgrammersJava-숫자-문자열과-영단어도움말
                            
                            
                            
                                저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                            
                            
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)
                            
                            
                        
                    
                
                
                
            
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);
    }
}👉 카카오 인턴십 코딩 테스트에 참여했을때 실제로 풀었던 문제라 문제를 푸는것은 어렵지 않았지만 그떄랑은 다른방식으로 풀고싶었는데 그러지 못해서 다시 생각해보고 다른 방법으로 풀어야겠다.
Author And Source
이 문제에 관하여([Programmers][Java] 숫자 문자열과 영단어 도움말), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hye_b/ProgrammersJava-숫자-문자열과-영단어도움말저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)