코진남
프로그래머스 숫자 문자열과 영단어 본문
다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.
- 1478 → "one4seveneight"
- 234567 → "23four5six7"
- 10203 → "1zerotwozero3"
이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요.
참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다.
public class NumberAndEnglish {
public int solution(String s) {
Map<String,String> converter = new HashMap<>();
converter.put("zero", "0");
converter.put("one", "1");
converter.put("two", "2");
converter.put("three", "3");
converter.put("four", "4");
converter.put("five", "5");
converter.put("six", "6");
converter.put("seven", "7");
converter.put("eight", "8");
converter.put("nine", "9");
for (String s1 : converter.keySet()) {
s = s.replace(s1, converter.get(s1));
}
return Integer.parseInt(s);
}
public static void main(String[] args) {
NumberAndEnglish n = new NumberAndEnglish();
String s = new String("one4seven");
int solution = n.solution(s);
System.out.println(solution);
}
}
숫자는 0 ~ 9 까지라서 Map의 Key Value에 예제를 넣어놓고
keySet과, replace 를 사용하여 해결
'코딩테스트' 카테고리의 다른 글
프로그래머스 체육복 (0) | 2022.03.30 |
---|---|
프로그래머스 신고! (0) | 2022.03.26 |
프로그래머스 완주하지 못한 선수 (0) | 2022.03.26 |
프로그래머스 키패드 문제 (0) | 2022.03.23 |
프로그래머스 크레인 문제 (0) | 2022.03.22 |