문제 - 가장 가까운 같은 글자
정답
- toCharArray()로 문자열을 문자 배열로 변환
- 동일한 문자 위치(인덱스)를 알기 위해 문자열 배열 buffer 선언
class Solution {
public int[] solution(String s) {
char[] sArray = s.toCharArray(); // 문자열 문자 배열로 바꾸기
char[] buffer = new char[s.length()];
int[] answer = new int[s.length()];
for (int i=0; i<s.length(); i++){ // 문자열 길이에는 length(), 배열 길이는 length
for (int j=0; j < buffer.length; j++){
if (buffer[j] == sArray[i]){ // 앞서 저장된 같은 문자가 있는지 확인
answer[i] = i-j; // 같은 문자가 있으면 인덱스 차이 저장
buffer[i] = sArray[i]; // 현재 문자 저장
buffer[j] = 0; // 이전에 있던 같은 문자 삭제
break;
}
}
if (answer[i] == 0){ // 같은 문자가 없었으면
buffer[i] = sArray[i]; // 현재 문자 저장
answer[i] = -1;
}
}
return answer;
}
}
시간복잡도
이중 for문으로 O(n^2)
다른 사람 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/142086/solution_groups?language=java
'취업 > 코딩테스트' 카테고리의 다른 글
프로그래머스 유연근무제 (0) | 2025.04.22 |
---|---|
프로그래머스 택배 상자 꺼내기 (0) | 2025.03.27 |
백준[1181] 단어 정렬 (0) | 2024.08.13 |
[미완]프로그래머스 [PCCP 기출문제] 1번/붕대감기 (0) | 2024.05.28 |
코딩테스트 준비 문법 정리 (2) | 2024.05.17 |