[알고리즘문제풀기] 영어가 싫어요

silver's avatar
Jan 22, 2025
[알고리즘문제풀기] 영어가 싫어요

문제

내가 작성한 정답

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

silver