출처: https://school.programmers.co.kr/learn/courses/30/lessons/142086
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
String [] arr = s.split("");
for(int i = 0; i < arr.length; i++){
// 자신 앞에 같은 글자가 있는지?
if(arr[i] == arr[i - 1]){
} else {// 없을시
answer[i] = -1;
}
}
return answer;
}
}
15분 되기전까지 작성한 코드문이다.
앞글자가 같은 문자가 없는지 판별하는 코드를 생각하는데 거의
10분은 걸렸던거 같다.
문제 자체는 이해가 갓는데 코드문으로 표현하는게 너무 어려웠다.
아래 코드문 처럼 이중 반복문을 써서 처음부터 정순서대로 도는 반복문과
역순서대로 도는 반복문을 쓰는것도 상상 못했다.
class Solution {
public int[] solution(String s) {
int[] answer = new int[s.length()];
for (int i = 0; i < s.length(); i++) {
for (int j = i; j >= 0; j--) {
if (s.charAt(i) == s.charAt(j) && answer[i] == 0) {
answer[i] = i - j;
}
}
if (answer[i] == 0) {
answer[i] = -1;
}
}
return answer;
}
}