볼 모으기 17615

LJM·2023년 9월 18일
0

백준풀기

목록 보기
233/259

https://www.acmicpc.net/problem/17615

import java.io.*;
import java.util.*;

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());

        String input = br.readLine();

        //파란색 옮기는 경우 횟수 구하기
        int bmovecnt = 0;
        int bmincnt = 1000000;

        //왼쪽
        int leftredball = 0;
        for (int i = 0; i < input.length(); i++) {
            if('B' == input.charAt(i) && leftredball > 0)
                bmovecnt++;

            if('R' == input.charAt(i))
                leftredball++;
        }
        bmincnt = Math.min(bmincnt, bmovecnt);
        bmovecnt = 0;


        //오른쪽
        int rightredball = 0;
        for (int i = input.length()-1; i >= 0; i--) {
            if('B' == input.charAt(i) && rightredball > 0)
                bmovecnt++;

            if('R' == input.charAt(i))
                rightredball++;
        }
        bmincnt = Math.min(bmincnt, bmovecnt);


        //빨간볼 옮기는 경우 구하기

        int rmovecnt = 0;
        int rmincnt = 1000000;

        //왼쪽
        int leftblueball = 0;
        for (int i = 0; i < input.length(); i++) {
            if('R' == input.charAt(i) && leftblueball > 0)
                rmovecnt++;

            if('B' == input.charAt(i))
                leftblueball++;
        }
        rmincnt = Math.min(rmincnt, rmovecnt);
        rmovecnt = 0;

        //오른쪽
        int rightblueball = 0;
        for (int i = input.length()-1; i >= 0 ; i--) {
            if('R' == input.charAt(i) && rightblueball > 0)
                rmovecnt++;

            if('B' == input.charAt(i))
                rightblueball++;
        }
        rmincnt = Math.min(rmincnt, rmovecnt);

        System.out.println(Math.min(bmincnt, rmincnt));
    }
}
profile
게임개발자 백엔드개발자

0개의 댓글