๐ŸŒท๐ŸŒผ๋ชจ์—ฌ๋ด์š” ๊ฐœ๋ฐœ์˜์ˆฒ๐ŸŒท๐ŸŒผ

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๊ฐ€์žฅ ์งง์€ ๋ฌธ์ž๊ฑฐ๋ฆฌ ๋ณธ๋ฌธ

๊ฐœ๋ฐœ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ’€์ด JAVA

[JAVA/์ฝ”๋”ฉํ…Œ์ŠคํŠธ] ๊ฐ€์žฅ ์งง์€ ๋ฌธ์ž๊ฑฐ๋ฆฌ

์š”์ผ์ด 2021. 10. 4. 16:44
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ

 

import java.util.*;

public class Main {

	public int[] solution(String s, char t){
		int[] answer = new int[s.length()];
		int p = 1000;
		// ์™ผ์ชฝ ๋ฌธ์ž t์—์„œ ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅ
		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;
		// ์˜ค๋ฅธ์ชฝ ๋ฌธ์ž t์—์„œ ๋ถ€ํ„ฐ์˜ ๊ฑฐ๋ฆฌ๋ฅผ ์ €์žฅ
		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 main = new Main();
		Scanner in = new Scanner(System.in);
		String str = in.next();
		char c = in.next().charAt(0);
		for(int x : main.solution(str, c)){
			System.out.print(x + " ");
		}
    }

}
Comments