백준 12933번 : 오리 | 자바 풀이

박지윤·2022년 7월 16일
0

Algorithm_Implementation

목록 보기
11/16

[ Solution ]

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

public class Main {

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

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String str = br.readLine();
        int[] arr = new int[6];
        int size = str.length();
        int max = 0;
        arr[0] = size;

        for(int i = 0; i < size; i++) {
            int n = 0;
            if(str.charAt(i) == 'q') n = 1;
            if(str.charAt(i) == 'u') n = 2;
            if(str.charAt(i) == 'a') n = 3;
            if(str.charAt(i) == 'c') n = 4;
            if(str.charAt(i) == 'k') n = 5;
            if(arr[n-1] == 0) {
                System.out.println("-1");
                return;
            }
            arr[n]++;
            arr[n-1]--;
            max = Math.max(max, arr[1]+arr[2]+arr[3]+arr[4]);
        }

        if(arr[5] * 5 != size) {
            System.out.println("-1");
            return;
        }
        System.out.println(max);
    }
}

quack에서 q,u,a,c,k의 문자 중 뒤에 있는 문자가 앞에는 문자보다 많은 개수가 있으면 안된다는 점,
해당 음성에서 필요한 오리의 수는 arr[5]의 경우 이미 끝났으니까, arr[1]+arr[2]+arr[3]+arr[4]라는 점,
arr[5]는 음성의 길이/5 인 점을 활용해야 한다.

0개의 댓글