[문제]
https://school.programmers.co.kr/learn/courses/30/lessons/81301
[풀이]
HashMap을 이용.
[코드]
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
String[] words = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
// s가 의미하는 원래 숫자를 return
Map<String, Integer> map = new HashMap<>();
for(int i=0; i<10; i++){
map.put(words[i], i);
}
String ans = "";
String word = "";
for(int i=0; i<s.length(); i++){
if(map.containsKey(word)){
ans += Integer.toString(map.get(word));
word = "";
}
if(s.charAt(i)<='9' && s.charAt(i)>='0'){
ans += s.charAt(i);
}
else{
word += s.charAt(i);
}
}
if(map.containsKey(word)){
ans += Integer.toString(map.get(word));
}
answer = Integer.valueOf(ans);
return answer;
}
}
'알고리즘 공부 및 문제 풀이 > 백준(BOJ)' 카테고리의 다른 글
[pro] 프로그래머스 level2 77485 행렬 테두리 회전하기 (Java) - 시뮬레이션 (1) | 2022.12.16 |
---|---|
[pro] 프로그래머스 level2 81302 거리두기 확인하기 (Java) - BFS (0) | 2022.12.16 |
[pro] 프로그래머스 level3 118669 등산코스 정하기 (Java) - 다익스트라 (0) | 2022.12.16 |
[pro] 프로그래머스 level1 118666 성격 유형 검사 (Java) (0) | 2022.12.15 |
[pro] 프로그래머스 level3 118668 코딩 테스트 공부 (Java) - dp (0) | 2022.12.15 |