문제
내가 작성한 정답
class Solution {
public long solution(String numbers) {
String[] num = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for(int i = 0; i < 10; i++) {
numbers = numbers.replace(num[i], String.valueOf(i));
}
return Long.parseLong(numbers);
}
}다른 사람들의 정답
import java.util.Map;
class Solution {
private static final Map<String, Integer> CONTAINS = Map.of("zero", 0, "one", 1, "two", 2,"three", 3, "four", 4, "five", 5, "six", 6, "seven", 7, "eight", 8, "nine", 9);
public long solution(String numbers) {
StringBuilder answer = new StringBuilder();
StringBuilder builder = new StringBuilder();
for (String s : numbers.split("")) {
builder.append(s);
if (CONTAINS.containsKey(builder.toString())) {
answer.append(CONTAINS.get(builder.toString()));
builder = new StringBuilder();
}
}
return Long.parseLong(answer.toString());
}
}Share article