티스토리 뷰
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/81301
2021 카카오 채용연계형 인턴십 Level 1 문제다.
HashMap의 key를 문자열 영단어로, value를 숫자로 저장했다.
그리고 문자열을 하나씩 탐색해 영단어를 숫자로 치환했다.
지금 코드도 직관적이지만 replaceAll을 사용해도 좋을 것 같다.
import java.util.HashMap;
class Solution {
public int solution(String s) {
HashMap<String, Integer> map = new HashMap<>();
String strArr[] = {"zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine"};
for(int i=0;i<strArr.length;i++)
map.put(strArr[i], i);
String tmp = "";
String result = "";
for(int i=0;i<s.length();i++) {
char c = s.charAt(i);
if(c >= '0' && c <= '9') {
result += Character.toString(c);
}
else if(c >= 'a' && c <= 'z') {
tmp += Character.toString(c);
if(map.containsKey(tmp)) {
result += map.get(tmp);
tmp = "";
}
}
}
return Integer.parseInt(result);
}
}
728x90
'algorithm > programmers' 카테고리의 다른 글
[프로그래머스/자바] 성격 유형 검사하기 풀이 - 2022 KAKAO TECH INTERNSHIP (0) | 2022.11.13 |
---|---|
[프로그래머스/자바] 거리두기 확인하기 풀이 - 2021 카카오 채용연계형 인턴십 (0) | 2022.11.13 |
[프로그래머스/자바] 경주로 건설 풀이 - 2020 카카오 인턴십 (0) | 2022.11.13 |
[프로그래머스/자바] 보석 쇼핑 풀이 - 2020 카카오 인턴십 (0) | 2022.11.13 |
[프로그래머스/자바] 수식 최대화 풀이 - 2020 카카오 인턴십 (0) | 2022.11.13 |