min's devlog

[String] 가장 짧은 문자거리 본문

til/Algorithm

[String] 가장 짧은 문자거리

값진 2021. 7. 16. 19:42
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+" ");
		}
	}
}

'til > Algorithm' 카테고리의 다른 글

[String] 암호(replace(), parseInt(string, 2))  (0) 2021.07.19
[String] 문자열 압축  (0) 2021.07.16
[String] 숫자만 추출  (0) 2021.07.16
[String] 유효한 팰린드롬(replaceAll 정규식이용)  (0) 2021.07.16
[string] 회문 문자열  (0) 2021.07.13
Comments