네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.
숫자 영단어
0 zero
1 one
2 two
3 three
4 four
5 five
6 six
7 seven
8 eight
9 nine
s
"one4seveneight"
"23four5six7"
"2three45sixseven"
"123"
result
1478
234567
234567
123
문자에 대해서 일치하는 num의 string값이 있는지 확인
그 string값을 숫자로 변환
s를 int로 변환
각 숫자에 대한 String타입을 하나의 배열로 만든다.
그 배열에 따라서 일치하는 s값안에 문자열이 있으면 replace를 통해서 숫자로 바꾼다.
바꿀때는 string 타입으로 바꿔야하기 때문에 Integer.toString(i)로 설정
총 바꾼 s를 Integer.parseInt(s)를 통해 숫자로 변환
class Solution {
public int solution(String s) {
String[] num = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for(int i=0; i<10; i++){
s = s.replace(num[i], Integer.toString(i));
}
int answer = Integer.parseInt(s);
return answer;
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/81301