티스토리 뷰

728x90

 

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

2021 카카오 채용연계형 인턴십 Level 1 문제다.

 

 

HashMap의 key를 문자열 영단어로, value를 숫자로 저장했다.

그리고 문자열을 하나씩 탐색해 영단어를 숫자로 치환했다.

지금 코드도 직관적이지만 replaceAll을 사용해도 좋을 것 같다.

import java.util.HashMap;

class Solution {
    public int solution(String s) {
        HashMap<String, Integer> map = new HashMap<>();
        String strArr[] = {"zero", "one", "two", "three", "four",
                     "five", "six", "seven", "eight", "nine"};
        
        for(int i=0;i<strArr.length;i++) 
            map.put(strArr[i], i);
        
        String tmp = "";
        String result = "";
        for(int i=0;i<s.length();i++) {
            char c = s.charAt(i);
            if(c >= '0' && c <= '9') {
                result += Character.toString(c);
            }
            else if(c >= 'a' && c <= 'z') {
                tmp += Character.toString(c);
                if(map.containsKey(tmp)) {
                	result += map.get(tmp);
                	tmp = "";
                }
            }
        }
        
        return Integer.parseInt(result);
    }
}
728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함