본문 바로가기

프로그래머스

숫자 문자열과 영단어

728x90

오래걸렸다. 이것도 다시 푼거였는데 오래걸렸다. 아직 로직 자체가 내것이 안되서 오래걸린것 같다.

class Solution 
{
    public int solution(String s) 
    {
        String num[] = {"zero","one","two","three","four","five","six","seven","eight","nine"};
        for(int i=0;i<num.length;i++)
        {
            s= s.replace(num[i],Integer.toString(i));
        }
        int answer = Integer.parseInt(s);
    return answer;
    }
    
}

베스트 코드 (프로그래머스 출처)

import java.util.*;

class Solution {
    public int solution(String s) {
        int answer = 0;
        StringBuilder sb = new StringBuilder("");
        int len = s.length();
        String[] digits = {"0","1","2","3","4","5","6","7","8","9"};
        String[] alphabets = {"zero","one","two","three","four","five","six","seven","eight","nine"};

        for(int i=0; i<10; i++){
            s = s.replaceAll(alphabets[i],digits[i]);
        }

        return Integer.parseInt(s);
    }
}

알파벳과 숫자를 한방에 변경하는 부분이 인상적이였다.

728x90

'프로그래머스' 카테고리의 다른 글

부족한 금액 계산하기  (0) 2023.01.10
콜라츠 추측  (0) 2023.01.10
k번째수  (0) 2022.12.26
행렬의덧셈  (0) 2022.12.26
나누어 떨어지는 숫자 배열  (0) 2022.12.26