(프로그래머스) 숫자 문자열과 영단어

개발일지·2022년 1월 24일
0

알고리즘

목록 보기
1/16

다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.

1478 → "one4seveneight"
234567 → "23four5six7"
10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.




제한사항

1 ≤ s의 길이 ≤ 50
s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다.
return 값이 1 이상 2,000,000,000 이하의 정수가 되는 올바른 입력만 s로 주어집니다.




정답

class Solution {
    public int solution(String s) {

    int answer;
    String  convertNumber[]= {"0","1","2","3","4","5","6","7","8","9"};
    String  number[]= {"zero" , "one" , "two" , "three" , "four" , "five" , "six" , "seven" , "eight" , "nine"}; 
        
        for (int i = 0 ; i <number.length ; i++){
            s = s.replace(number[i] , convertNumber[i]); // zero는 0로 ~ nine은 9로 문자열 대체
        }
        answer = Integer.parseInt(s); // s가 아직 문자열이라 정수형으로 변환
        return answer;
    }
}

0개의 댓글