Coding Test/프로그래머스
[프로그래머스/자바] 가장 가까운 같은 글자
yurison
2023. 3. 15. 18:13
import java.util.Map;
import java.util.HashMap;
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
Map<String, Integer> map = new HashMap<>();
String[] arr = s.split("");
for(int i=0; i<arr.length; i++){
if(map.get(arr[i]) == null){
answer[i] = -1;
} else answer[i] = i - map.get(arr[i]);
map.put(arr[i], i);
}
return answer;
}
}
import java.util.HashMap;
import java.util.Map;
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
Map<String, Integer> map = new HashMap<>();
String[] arr = s.split("");
for(int i=0; i<arr.length; i++){
answer[i] = i - map.getOrDefault(arr[i], i + 1);
map.put(arr[i], i);
}
return answer;
}
}
풀이2
for문에서 if문을 사용하지 않고 getOrDefault 를 이용하여 값을 갱신했다.
정확도 테스트에서 생각보다 시간은 비교적 높게 나왔다.