(풀이)
import java.util.*;
class Main {
public int[] solution(String s, char t){
int[] answer=new int[s.length()];
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;
}
}
p=1000;
for(int i=s.length()-1; i>=0; i--){
if(s.charAt(i)==t) p=0;
else{
p++;
answer[i]=Math.min(answer[i], p);
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
String str=kb.next();
char c=kb.next().charAt(0);
for(int x : T.solution(str, c)){
System.out.print(x+" ");
}
}
}
'취업준비 - 코테 , 면접 > 알고리즘(코테) 공부' 카테고리의 다른 글
알고리즘입문(Java) - String -12.암호 (0) | 2023.02.24 |
---|---|
알고리즘입문(Java) - String -11.문자열압축 (0) | 2023.02.24 |
알고리즘입문(Java) - String -9.숫자만추출 (0) | 2023.02.22 |
알고리즘입문(Java) - String -8.팰린드롬 (0) | 2023.02.22 |
알고리즘입문(Java) - String -7.회문문자열 (0) | 2023.02.21 |