공부하자/알고리즘

[프로그래머스] Lv.1 숫자 문자열과 영단어 java

snbrin 2022. 4. 28. 11:24

https://programmers.co.kr/learn/courses/30/lessons/81301

 

코딩테스트 연습 - 숫자 문자열과 영단어

네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자

programmers.co.kr

 

문제

네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임. 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 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);
    }
}

실행 결과