[백준/BOJ] 23797. 개구리(java) [Silver 1]

jychan99·2021년 12월 22일
0
post-thumbnail
  1. 개구리

문제출처 : https://www.acmicpc.net/problem/23797

이게 내생각에는 내풀이가 맞는데, 왜틀린지 모르겠다..

code

#include <iostream>
#include <string>
using namespace std;

int main()
{
	string frog;
	int cnt, K_cnt = 0, P_cnt = 0;

	cin >> frog;

	for (int i = 0; i < frog.length(); i++)
	{
		if (frog[i] == 'K')
			K_cnt++;
		if (frog[i] == 'P')
			P_cnt++;
	}
	cnt=abs(K_cnt - P_cnt);

	cout << cnt+1;

	return 0;
}

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

    public static void main(String args[]) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        String S = br.readLine();
        int S_len = S.length();
        char[] arr = S.toCharArray();
        int k = 0,p=0;
        int result=0;
        for(int i=0;i<S_len;i++){
            if(arr[i]=='K'){
                k++;
                if(p>0){
                    p--;
                }
            }else{
                p++;
                if(k>0){
                    k--;
                }
            }
            result = k+p;
        }
        
        bw.write(result+"");

        bw.close();
        br.close();
    }
}

K울음소리횟수와 P울음소리 횟수를 각각구하는데,
K울었는데 P울었으면(그 반대경우도 동일) 한개구리가 되므로 횟수에서 빼준다.
그래서 남은 울음소리 K,P들을 합치면 개구리가 몇마리인지 나온다.
예전의 난 무슨 코드를 짯는지 모르겠다..

profile
내가 지금 두려워 하고 있는 일이 바로 내가 지금 해야 할 일이다. 🐥

0개의 댓글