문제
내가 작성한 정답
class Solution {
public long solution(String numbers) {
String answer = numbers
.replaceAll("zero","0").replaceAll("one","1")
.replaceAll("two","2").replaceAll("three","3")
.replaceAll("four","4").replaceAll("five","5")
.replaceAll("six","6").replaceAll("seven","7")
.replaceAll("eight","8").replaceAll("nine","9");
return Long.parseLong(answer);
}
}
다른 사람들의 정답
class Solution {
public long solution(String numbers) {
String[] numbers_arr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for (int i = 0; i < numbers_arr.length; i++) {
numbers = numbers.replaceAll(numbers_arr[i], String.valueOf(i));
}
long answer = Long.parseLong(numbers);
return answer;
}
}
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());
}
}
Map<K, V> map = Map.of(K1, V1, K2, V2, ..., Kn, Vn);
- Map.of를 사용하면 생성된 맵은 수정할 수 없으며, 추가, 삭제, 변경이 불가능
- 최대 10개의 키-값 쌍을 인자로 받을 수 있으며, 11개 이상의 쌍을 추가하려면 Map.ofEntries 메서드를 사용해야 한다.
- null 키나 null 값을 허용하지 않는다. null을 사용하면 NullPointerException이 발생한다.
Share article