본문 바로가기
알고리즘/백준

[백준] 20442. ㅋㅋ루ㅋㅋ

by vivi 2021. 11. 16.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Main {

    public static void main(String[] args) throws IOException {

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        char[] str = br.readLine().toCharArray();
        int len = str.length;
        int[] d = new int[len];
        int cnt = 0;
        
        for (int i = 0; i < len; i++) {
            if (str[i] == 'K') cnt++;
            d[i] = cnt;
        }
        
        int answer = len - cnt;
        int lt = 0, rt = len - 1;
        
        while (lt <= rt) {
            int lk = 0;
            if (lt - 1 != -1) lk = d[lt - 1];
            
            int k_num = Math.min(lk, d[len - 1] - d[rt]);
            int r_num = rt - lt + 1 - (d[rt] - lk);
            if (r_num != 0)
                answer = Math.max(answer, k_num * 2 + r_num);

            if (lt >= 1 && d[lt - 1] >= d[len - 1] - d[rt]) {
                rt--;
            } else lt++;
        }
        
        System.out.println(answer);
        br.close();
    }
}

 

댓글