나의 풀이
import java.util.*;
class Solution {
public int solution(String s) {
HashMap<String, String> map = new HashMap<>();
map.put("zero","0" );
map.put("one","1" );
map.put("two","2" );
map.put("three","3" );
map.put("four","4" );
map.put("five","5" );
map.put("six","6" );
map.put("seven","7" );
map.put("eight","8" );
map.put("nine","9" );
for(Map.Entry<String, String> entry:map.entrySet()){
s=s.replace(entry.getKey(),entry.getValue());
}
return Integer.valueOf(s);
}
}
▶ 중요한 것은 replace(변경할 문자, 대체문자) → replace() 메서드의 두 인자(Argument)가 String타입, String타입이다
▶ map자료형에서 key와 value를 꺼낼때는 entrySet()이라는 메서드를 사용한다.★
다른 사람의 풀이
import java.util.*;
class Solution {
public int solution(String s) {
int answer = 0;
StringBuilder sb = new StringBuilder("");
int len = s.length();
String[] digits = {"0","1","2","3","4","5","6","7","8","9"};
String[] alphabets = {"zero","one","two","three","four","five","six","seven","eight","nine"};
for(int i=0; i<10; i++){
s = s.replaceAll(alphabets[i],digits[i]);
}
return Integer.parseInt(s);
}
}
▶ String 배열 2개를 사용해서도 구현할수 있다.
'프로그래머스(자바) > LV.1(자바)' 카테고리의 다른 글
두 개 뽑아서 더하기→Set을 이용한 중복제거+TreeSet을 이용한 정렬★ (0) | 2022.12.17 |
---|---|
삼총사 →3중 for문 +조합★★ (0) | 2022.12.17 |
k번째 수 → copyOfRange(), 슬라이싱(slicing)★★ (0) | 2022.12.17 |
문자열 내 마음대로 정렬하기★★★→ 애당초 사전순서대로 정렬 + subString() (1) | 2022.12.17 |
최소직사각형→2차원 리스트를 1차원 리스트★★ (0) | 2022.12.16 |