링크
https://school.programmers.co.kr/learn/courses/30/lessons/142086
1. 풀이
- Map 으로 처리하면된다.
- map에 단어가 있을경우 answer[i] 에 현재위치(i) - map의 값 을 빼면 그 사이간격의 값이 구해진다.
2. 코드
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
Map<Character, Integer> map = new HashMap<>();
for(int i=0; i<s.length(); i++){
char c = s.charAt(i);
if(map.containsKey(c)){
answer[i] = i - map.get(c); //i 는 현재위치이고, map에서 c를 찾아와서 그 사이간격을 뺀다.
}else{
answer[i] = -1;
}
map.put(c, i);
}
return answer;
}
}
'프로그래머스 코테 > 프로그래머스 Lv. 1' 카테고리의 다른 글
[프로그래머스 : Java] 평균 구하기 (2) | 2023.05.22 |
---|---|
[프로그래머스 : Java] 짝수와 홀수 (0) | 2023.05.22 |
[프로그래머스 : Java] 추억 점수 (0) | 2023.05.18 |
[프로그래머스 : Java] 약수의 합 (2) | 2023.05.18 |
[프로그래머스 : Java] 크기가 작은 부분 문자열 (0) | 2023.05.15 |