👨🏻💻알고리즘/프로그래머스
[프로그래머스] Lv1. 가장 가까운 같은 글자
waveofmymind
2023. 1. 30. 23:08
코드
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
answer[0] = -1;
for (int i = 1; i < s.length();i++) {
int x = s.lastIndexOf(s.substring(i,i+1),i-1);
if (x != -1) {
answer[i] = i-x;
} else {
answer[i] = x;
}
}
return answer;
}
}
풀이
- 가장 첫 글자는 무조건 -1이다.
- lastIndexOf()를 사용하면, i-1 인덱스를 기준으로 s.substring(i,i+1)이 있는지 없는지를 확인한다.
- x가 -1이면 없다는 것이므로 answer[i]에 x를 넣는다
- x가 -1이 아닐경우 1-x를 넣는다.