import java.util.Arrays;
import java.util.HashMap;
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
String [] ansArr = new String[s.length()];
String[] arr = s.split("");
HashMap map = new HashMap<>();
for(int i = 0; i < arr.length; i++){
if(map.get(arr[i])==null){
//없으면 -1로 바꿈
answer[i] = -1;
map.put(arr[i], 0);
ansArr[i] = arr[i];
}else{
//있던 것이면
int temp = Arrays.asList(ansArr).lastIndexOf(arr[i]);
ansArr[i] = arr[i];
answer[i] = i-temp;
}
}
return answer;
}
}
처음 방문한 애 : -1
있던 애 : lastIndexOf 사용해서 마지막 애 위치 찾아서 현재 위치랑 거리값 계산해서 넣어줌
람다랑 정규표현식으로 1줄짜리 짠 사람 있는데 똑똑박사인거 같다!
나는 예로부터 내려온 방식으로 품!
(그래도 lastIndexOf 땡큐!)
2~3단계 계속 이러고 ↓ 있어서 1단계 0단계 새로 올라온 문제 풀어봄...
시간초과!!! 으악! DFS랑 BFS라도 최소 두번은 돌아야 하는데 ㅠ...
더 머리를 싸매본다...★
댓글
댓글 쓰기