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;
}
}