공부하자/알고리즘
[프로그래머스] Lv.1 숫자 문자열과 영단어 java
snbrin
2022. 4. 28. 11:24
https://programmers.co.kr/learn/courses/30/lessons/81301
문제
네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임. 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수. s가 의미하는 원래 숫자를 return 하는 함수를 완성하시오.
1478 -> "one4seveneight"
234567 -> "23four5six7"
10203 -> "1zerotwozero3"
제한조건
s의 길이는 1이상 50이하
s가 "zero" 또는 "0"으로 시작하는 경우는 없음
return 값이 1이상 2,000,000,000이하의 정수가 되는 올바른 입력만 s로 주어짐
.java
class Solution {
public int solution(String s) {
int answer = 0;
String[] nums = {"zero","one","two","three","four","five","six","seven","eight","nine"};
for(int i=0; i<nums.length; i++){
//바꾸고 싶은 문자 치환(replace), 숫자를 문자로 형변환하여 s에 저장
s = s.replace(nums[i], Integer.toString(i));
}
return Integer.parseInt(s);
}
}
실행 결과