1. 내 풀이
쌩구현 ㅎ....
class Solution {
public int solution(String s) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < s.length() ; i++) {
int num = s.charAt(i) - '0';
if(num >= 0 && num <= 9) sb.append(num);
else {
if(i+3 >= s.length()) continue;
String str = s.substring(i, i+3);
if(str.equals("zer")) {
i += 3; sb.append(0);
} else if(str.equals("one")){
i += 2; sb.append(1);
} else if(str.equals("two")){
i += 2; sb.append(2);
} else if(str.equals("thr")){
i += 4; sb.append(3);
} else if(str.equals("fou")){
i += 3; sb.append(4);
} else if(str.equals("fiv")){
i += 3; sb.append(5);
} else if(str.equals("six")){
i += 2; sb.append(6);
} else if(str.equals("sev")){
i += 4; sb.append(7);
} else if(str.equals("eig")){
i += 4; sb.append(8);
} else if(str.equals("nin")){
i += 3; sb.append(9);
}
}
}
return Integer.parseInt(sb.toString());
}
}
2. 다른 분 풀이
배열 및 String의 replaceAll 활용
class Solution {
public int solution(String s) {
String[] strArr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for(int i = 0; i < strArr.length; i++) {
s = s.replaceAll(strArr[i], Integer.toString(i));
}
return Integer.parseInt(s);
}
}
'코딩테스트 > Programmers' 카테고리의 다른 글
[프로그래머스] k번째수 (1) | 2025.02.28 |
---|---|
[프로그래머스] 푸드 파이트 대회 (0) | 2025.02.28 |
[프로그래머스] 두 개 뽑아서 더하기 (0) | 2025.02.28 |
[프로그래머스] 가장 가까운 같은 글자 (0) | 2025.02.26 |
[프로그래머스] 시저 암호 (0) | 2025.02.26 |