카테고리 없음
[프로그래머스] 숫자 문자열과 영단어
ku-na
2022. 1. 4. 13:18
문제 설명과 제한사항

| 숫자 | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
| 영단어 | zero | one | two | three | four | five | six | seven | seven | nine |

풀이
class Solution {
public int solution(String s) {
String[] eng = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
String[] num = {"0","1","2","3","4","5","6","7","8","9"};
String tmp = s;
for(int i = 0; i < eng.length; i++){
tmp = tmp.replace(eng[i],num[i]);
}
return Integer.parseInt(tmp);
}
}
++
간단한 매칭 문제 였다. 다른 분들의 풀이를 봤는데, 맵을 사용하시는 분도 있었다.
생각 하지 못했던 부분은 num 배열을 만들 필요 없이 i를 문자열로 치환해서 사용이 가능하다는 부분이었다.
tmp = tmp.replace(eng[i],Integer.toString(i));
그리고 문자열 -> 정수, 정수 -> 문자열 치환
Integer.parseInt(String a) : 문자열 a를 정수로 치환
Integer.toString(int a) : 정수 a를 문자열로 치환
그만 까먹었으면 좋겠다.