728x90
📋 문제

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다.
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.
📋 입출력 예시

📋 풀이
class Solution {
public int solution(String s) {
// word, num 각각 배열로 설정
String[] word = {"zero","one","two","three","four","five","six","seven","eight","nine"};
String[] num = {"0","1","2","3","4","5","6","7","8","9"};
for(int i=0;i<word.length;i++){
// s에서 word와 일치하는 값을 num으로 바꿔치기
s = s.replaceAll(word[i],num[i]);
}
return Integer.parseInt(s);
}
}
- word배열에 zero~nine문자열 담기
- num배열에 0~9 문자열로 담기 = replcae편하게 하기 위해
- word배열 길이만큼 반복문 설정
- s에서 word[i]와 num[i] 교체하고 s에 대입
배열 선언하는거 스포당한 채로 풀어서 사실 온전히 내가 푼 건 아니다
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [Lv.0] 로그인 성공? (0) | 2024.08.11 |
|---|---|
| [Lv.1] 음양 더하기 (0) | 2024.08.08 |
| [Lv.0] 1로 만들기 (0) | 2024.08.08 |
| [Lv.0]카운트 다운 (0) | 2024.08.08 |
| [Lv.0] 원소들의 곱과 합 (0) | 2024.08.08 |