본문 바로가기
알고리즘/문제풀이

[JAVA] 프로그래머스 - 숫자 문자열과 영단어

by 겅아링 2021. 8. 22.
반응형

 

첫번째 풀이 > 

문자열 하나씩 검사해,
숫자가 아닌 알파벳이 나온다면 (아스키코드로 검사)
switch문으로 어느 단어인지 확인 후,
정답 배열에 저장한다.

*원래 서툴럿지만,,,,,, 너무 볼품없는 코드였다 ㅠ
답 제출후, 다른사람의 풀이를 보자마자 다시 직접 풀어보았다.

모범 풀이 >

public class Programmers16 {
	public static void main(String[] args) {
    	//테스트용 입력 정의
    	String[] number = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };

		for (int i = 0; i < number.length; i++)
			if (s.contains(number[i])) //배열의 단어를 포함하고 있으면
            	//해당하는 단어들을 모두 해당 숫자로 바꾼다.
                //숫자 단어 배열의 인덱스를 가르키고있는 i를 문자로 변환후 저장한다.
				s = s.replaceAll(number[i], String.valueOf(i));

		int answer = Integer.parseInt(s);
        //System.out.println(answer);
        return answer;
        
        }
 }
반응형