https://school.programmers.co.kr/learn/courses/30/lessons/142086
import java.util.*;
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
List<String> list = new ArrayList<String>();
String[] array = s.split("");
for(int i=0;i<array.length;i++){
int index=list.lastIndexOf(array[i]);
if(index==-1){
answer[i]=-1;
}else{
answer[i]=i-index;
}
list.add(array[i]);
}
return answer;
}
}
List의 lastIndexOf()를 사용하여 뒤에서부터의 위치를 찾아 계산을 하는 방식을 선택하였다.
'JAVA > 프로그래머스' 카테고리의 다른 글
[프로그래머스/자바] [1차] 비밀지도 (0) | 2024.01.15 |
---|---|
[프로그래머스/자바] 두 개 뽑아서 더하기 (0) | 2024.01.15 |
[프로그래머스/자바] 최대공약수와 최소공배수 (1) | 2023.12.26 |
[프로그래머스/자바] 문자열을 정수로 바꾸기 (0) | 2023.09.17 |
[프로그래머스/자바] 외계어 사전 (0) | 2023.09.04 |
댓글