이번에 풀어본 문제는
프로그래머스 숫자 문자열과 영단어 입니다.
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
String [] eng = {"zero","one","two","three","four","five","six","seven",
"eight","nine"};
String [] num = new String[10];
for(int i = 0; i < num.length; ++i) num[i] = i+"";
for(int i = 0; i < eng.length; ++i)
{
s = s.replace(eng[i],num[i]);
}
answer = Integer.parseInt(s);
return answer;
}
}
문자열 문제입니다.
영어에 해당하는 숫자가 고정값이며 10개뿐이므로 배열에 미리 담아두고,
replace함수로 0부터 9까지 탐색하며 해당값을 변경해줍니다.
마지막으로 s를 정수로 변환하여 반환합니다.
처음에 어려운 문제일거라 생각해 완전 꼬아서 고민하다가 replace함수가 떠올라 활용해 보았습니다.