본문 바로가기
프로그래밍/알고리즘 문제풀이

[pg] 프로그래머스 숫자 문자열과 영단어

by 노잼인간이라불립니다 2023. 8. 1.

1. 문제 정의

 이번 문제는 굉장히 쉽다. 문자열안에 영어로 적혀있는 숫자를 아라비아 숫자로 변환해주기만 하면 된다.

 ex) "zero12" -> "012"

 

2. 나의 시도

 문제를 보고 맵이 떠올라 맵을 만들고 맵을 순회하면서 문자열에 있는 알파벳을 아라비아숫자로 변경하였다.

 

3. code

/**
 * 프로그래머스 LV1
 * 숫자 문자열과 영단어
 * 접근 방법: 문자열과 숫자를 map으로 만들고, map을 순회 하면서 key값에 해당하는 문자열은 숫자로 바꾸는 형식으로 진행.
 */
public class Solution {
    public int solution(String s) {

        Map<String,String> translator = new HashMap<>();

        translator.put("zero","0");
        translator.put("one","1");
        translator.put("two","2");
        translator.put("three","3");
        translator.put("four","4");
        translator.put("five","5");
        translator.put("six","6");
        translator.put("seven","7");
        translator.put("eight","8");
        translator.put("nine","9");

        for (String key : translator.keySet()) {
            s = s.replace(key, translator.get(key));
        }
        return Integer.parseInt(s);
    }
}

4. 정리

 이번 문제는 난이도가 너무 쉬워서 금방 풀었다. 카카오 1LV 문제는 대부분 문자열을 기반한 문제가 많은듯 하다.

 

 

참조

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