반응형
SMALL
![](https://blog.kakaocdn.net/dn/dUxDsq/btrGurpgSRp/ofFkNeI9fQPPQXkkfcXUj1/img.png)
# 풀이
import java.util.Scanner;
public class Main {
public int[] solution(String s, char t){
int[] answer = new int[s.length()];
// 왼쪽에 있는 t로부터의 거리 (처음부터 쭉)
// 일단 p를 최대한 큰수로 초기화
int p = 1000;
for(int i=0;i<s.length();i++){
if(s.charAt(i)==t) {
p = 0;
answer[i] = p;
}else {
p++;
answer[i] = p;
}
}
// 오른쪽에 있는 t로부터의 거리
// 거꾸로 기존의 값과 비교해서 작은 값 넣기
p=1000;
for(int i=s.length()-1;i>=0;i--){
if(s.charAt(i)==t) p=0;
else {
p++;
if(p<answer[i]){
answer[i] = p;
}
}
}
return answer;
}
public static void main(String[] args){
Scanner in=new Scanner(System.in);
Main T = new Main();
String s = in.next();
char t = in.next().charAt(0);
for(int x: T.solution(s,t)){
System.out.print(x + " ");
}
return ;
}
}
반응형
LIST
'자바 알고리즘' 카테고리의 다른 글
12. 보이는 학생 (0) | 2022.08.02 |
---|---|
11. 문자열 압축 (0) | 2022.07.06 |
09. 숫자만 추출 (0) | 2022.04.11 |
08. 팰린드롬 (replaceAll 정규식 이용) (0) | 2022.04.11 |
07. 회문 문자열 (0) | 2022.04.08 |
댓글