-
프로그래머스 - 가장 가까운 같은 글자알고리즘 2024. 4. 12. 00:30
import java.util.*; class Solution { public int[] solution(String s) { int[] answer = new int[s.length()]; char[] arr = s.toCharArray(); Map<Character, Integer> map = new HashMap<>(); for(int i = 0; i < arr.length; i++) { if(!map.containsKey(arr[i])){ answer[i] = -1; map.put(arr[i], i); }else { int index = map.get(arr[i]); answer[i] = i - index; map.put(arr[i], i); } } return answer; } }
String 을 char 배열로 변환하여, 각 글자를 key값으로 index를 value로 하여 Key값이 있는지 판별하여 없다면 처음 나온 값이기 때문에
-1 를 answer 배열에 저장하고, 아니라면 현재 인덱스에서 저장한 인덱스를 빼서 answer 배열에 저장 후 다시 현재 인덱스를 map에 저장합니다.
'알고리즘' 카테고리의 다른 글
프로그래머스 - 비밀지도 (0) 2024.04.12 프로그래머스 - 문자열 내 마음대로 정렬하기 (0) 2024.04.12 프로그래머스 - 최소 직사각형 (0) 2024.04.12 프로그래머스 - 시저 암호 (0) 2024.04.11 프로그래머스 - 최빈값 구하기 (1) 2024.04.06