빙응의 공부 블로그

[Programmers]LV.1 가장 가까운 같은 글자 본문

Argorithm

[Programmers]LV.1 가장 가까운 같은 글자

빙응이 2023. 12. 4. 22:36

 


📝풀이

정말 쉬운 문제

나는 해시 맵을 사용해서 저장한 다음 중복 값이 나오면 값을 계산한 후 해시맵을 갱신하였다.

 

import java.util.HashMap;
class Solution {
    public int[] solution(String s) {
        int[] result = new int[s.length()];
        
        HashMap<Character,Integer> map = new HashMap<>();
        
        for(int i = 0; i <s.length();i++){
            if(map.containsKey(s.charAt(i))){
                result[i] = i-map.get(s.charAt(i));
                map.put(s.charAt(i),i);
            }
            else{
                map.put(s.charAt(i),i);
                result[i] = -1;
            }
        }

        return result;
    }
}