import java.util.*;
class Solution {
public int solution(String s) {
String[] strs =new String[]{"zero","one","two","three","four","five","six","seven","eight","nine"};
for (int i=0;i<strs.length;i++) {
s = s.replace(strs[i],String.valueOf(i));
}
return Integer.parseInt(s);
}
}
🥳
replace
함수를 알고 있따면 간단하게 해결할 수 있는 문제입니다.
먼저 "zero"~"nine"까지의 배열을 하나 만들어줍니다.이후 해당 s에 들어있는 문자열들을 숫자로 변환시켜주면 됩니다.
🤔이 때 for문을 돌리는데 "zero"부터 s안에 있는 문자열을 해당 숫자로 전부 치환해줍니다.
이때replace
와replaceAll
함수가 있는데 이 둘의 차이는 정규식 사용 유무입니다.
만약 맨 처음의 나타난 값만을 바꾸고 싶다며replaceFirst
를 이용하시면 됩니다.
출처 :프로그래머스 스쿨
좋은 글 감사합니다!