Coding Test/Programmers

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

이영우 2021. 12. 8. 16:06

 

숫자 문자열과 영단어

- 주어진 문자열에서 숫자가 문자열 형식으로 되있을 때, 숫자로 바꿔서 리턴하는 문제

 

※ 생각하기

- 문자를 어떻게 순자로 치환할 것인가

 

※ 풀이법

1) zero ~ nine의 값을 가진 문자열 배열(numStr) 생성

2) 0부터 10까지(numStr.length - 1) for문을 돌리면서 문자열(s)를 replace()를 활용하여 바꿔준다.

    - 문자열에서 numStr[i]에 해당하는 문자가 있다면 String.valueOf(i)로 i의 값으로 바꿔준다.

3) Integer.parseInt()로 문자열(s)를 정수형으로 형변환 해준 후 answer에 담아 리턴한다.

 

/**
 * 2021-12-05
 * 프로그래머스 level1 : 숫자 문자열과 영단어
 */
public class Solution {
	// 결과 확인을 위함
	public static void main(String[] args) {
		Solution st = new Solution();
		System.out.println(st.solution("1zerotwozero3"));
	}
	
	public int solution(String s) {
        int answer = 0;
        String[] numStr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
        
        for(int i=0; i<10; i++) {
        	s = s.replace(numStr[i], String.valueOf(i));
        }
        
        answer = Integer.parseInt(s);
        
        return answer;
    }
}