[오늘의 문제] 가장 가까운 같은 글자

shlim55·2025년 4월 8일

코딩테스트

목록 보기
17/223

출처: 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;
}

}

profile
A Normal Programmer

0개의 댓글