프로그래머스 코딩테스트/JAVA

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

Coding-Su 2024. 8. 5. 10:29
728x90

 

문제

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

정답

import java.util.*;

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

alpha에 문자가 없으면 -1, 있다면 for문을 통해 인덱스 번호를 앞으로 가면서 같은 문자가 있다면 그 문자의 인덱스를 저장하여 문제를 풀었습니다.

728x90