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

seb Incode·2023년 1월 2일
0
post-thumbnail

문제설명



문제접근방식

1) 이중 for문

초반엔 각 문자 앞에서부터 하나하나 비교하기 위해 이중 for문으로 구현했다. 근데 통과 못함..ㅋ

2) string 메소드 활용

string 객체의 lastIndexOf()를 활용해서 다시 구현했더니 된다.

소스코드

class Solution {
    public int[] solution(String s) {
        int[] answer = new int[s.length()];
        
        for(int i=0;i<s.length();i++){
            if(i !=0){
                int idx = s.substring(0,i).lastIndexOf(s.charAt(i));
                if(idx != -1){
                    answer[i] = i-idx;
                    
                }
                else{
                    answer[i] = idx;
                }
            }
            else{
                answer[i] = -1;
            }
        }
        
        return answer;
    }
}

핵심

lastIndexOf(string s)

string s = "banana";
s.lastIndexOf("a");		//5
s.lastIndexOf("f");		//없으면 -1 반환

charAt(int index)

string s = "apple";
s.charAt(3);		// 'l' 반환

0개의 댓글