프로그래밍/알고리즘 문제풀이
[pg] 프로그래머스 숫자 문자열과 영단어
노잼인간이라불립니다
2023. 8. 1. 17:44
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