life is egg
가장 짧은 문자거리 본문
지정된 문자기준~ 떨어진 인덱스 거리 구하는 문제
내생각
한번 for문 돌려서 +1씩 시키고 e만나면 0으로 초기화
리버스해서 for문돌리고 반복
두개의 값중 비교해서 작은걸 출력
아 이렇게 하면 안된다 .. 지정문자로부터 거리를 적기가 힘들어짐..!
아 선생님 풀이 .. 첫값을 0으로 안놓고 달성할수 없는 큰값으로 시작하면 되는구나 ..!!
아 ! ... 두번째 리버스로 돌때 작으면 교체하는 식으로 하면 되는구나 ..
import java.util.*;
class Main {
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+" ");
}
}
public String 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);
}
}
retrun answer;
}
}
Comments