💡/코딩 테스트

[프로그래머스] 가장 가까운 같은 글자

defyuil 2024. 6. 12. 17:45

 

class Solution {
    public int[] solution(String s) {
        int[] answer = new int[s.length()];
        answer[0] = -1;
        for(int i=1; i<s.length(); i++){
            for(int z=i-1; z>=0; z--){        
                if(s.charAt(i)==s.charAt(z)){
                    answer[i] = i-z;
                    break;
                }else{
                    answer[i] = -1;
                }
            }
        }
        return answer;
    } 
}

 

더보기
  • 제일 앞 글자는 앞에 같은 글자가 존재하지 않기 때문에 -1을 넣는다
  • 2중 for문을 사용하는데 안쪽 for문의 조건식은 i - 1부터 0까지 감소
  • 매개변수 String s의 s.sharAt(i)가 s.charAt(z)와 같으면 i - z한 값을 배열에 저장시킨 후 z 반복문 탈출