문제
문제풀이
숫자와 영문자열을 배열로 담아두고 s를 비교하여 같은 값이 있을 때 해당 값으로 변경하는 방식으로 접근.
나의 답안
public static int solution(String s) {
String[] eng = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for (int i = 0; i < eng.length; i++) {
s = s.replaceAll(eng[i], Integer.toString(i));
}
return Integer.parseInt(s);
}
다른 답안
public static int solution(String s) {
String answer = "";
String[] eng = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
while (true) {
int len = 0;
for (int i = 0; i < s.length(); i++) {
if (s.charAt(i) >= '0' && s.charAt(i) <= '9') {
answer += (char) s.charAt(i);
} else {
int index = 0;
for (String num : eng) {
len = num.length();
String substring = s.substring(i, Math.min(i + len, s.length()));
if (num.equals(substring)) {
answer += index + "";
break;
}
index++;
}
}
System.out.println("answer = " + answer);
}
break;
}
return Integer.parseInt(answer);
}
'Programmers 문제풀이 > Lv.1' 카테고리의 다른 글
두 개 뽑아서 더하기 (0) | 2023.03.19 |
---|---|
K번째수 (0) | 2023.03.19 |
문자열 내 마음대로 정렬하기 (0) | 2023.03.18 |
[1차] 비밀지도 (0) | 2023.03.18 |
최소직사각형 (0) | 2023.03.17 |