티스토리 뷰

728x90
반응형

문제

문자열에 포함된 영단어를 숫자로 변환하는 과정을 구현하는 문제이다.

예시) one4seveneight -> 1478

풀이

  • 영단어 - 숫자 정보를 HashMap에 저장한다.
  • for문을 통해 숫자 영단어를 순회하면서 replace 메서드를 사용해 숫자로 치환한다.
  • 최종적으로 치환된 문자열을 숫자로 변환하여 결과를 반환한다.

Java 코드

import java.util.HashMap;
import java.util.Map;

class Solution {
    public int solution(String s) {
        // 영단어-숫자 HashMap
        Map<String, String> numMap = new HashMap<>();
        numMap.put("zero", "0");
        numMap.put("one", "1");
        numMap.put("two", "2");
        numMap.put("three", "3");
        numMap.put("four", "4");
        numMap.put("five", "5");
        numMap.put("six", "6");
        numMap.put("seven", "7");
        numMap.put("eight", "8");
        numMap.put("nine", "9");
        
        // 영단어를 숫자로 변환
        for (String word : numMap.keySet()) {
            s = s.replace(word, numMap.get(word));
        }

	// 정수로 변환
        int answer = Integer.parseInt(s);
        return answer;
    }
}

 

문제출처

 

프로그래머스

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

programmers.co.kr

 

728x90
반응형
댓글