백준 특식 배부

KIMYEONGJUN·2025년 2월 6일
0
post-thumbnail

문제

내가 생각했을때 문제에서 원하는부분

첫 번째 줄에 주문한 각 종류의 치킨 마릿수 N이 주어진다. (1 <= N <= 1000)
두 번째 줄에 후라이드 치킨을 가장 선호하는 병사의 수 A, 간장치킨을 가장 선호하는 병사의 수 B, 양념치킨을 가장 선호하는 병사의 수 C가 공백으로 구분되어 주어진다. (1 <= A, B, C <= 3000)

본인이 가장 선호하는 종류의 치킨을 받을 수 있는 최대 인원수를 출력한다.

내가 이 문제를 보고 생각해본 부분

입력 처리: BufferedReader를 사용하여 입력을 효율적으로 처리한다.
변수 선언: 주문한 치킨 수 N과 각 치킨을 선호하는 병사의 수 A, B, C를 읽어온다.
치킨 배부 계산:
각 종류의 치킨을 받을 수 있는 인원 수는 해당 종류를 선호하는 인원 수와 주문한 마릿수 중 최소값이다.
선호하는 치킨을 받을 수 있는 최대 인원 수를 계산한다.
결과 출력: 총 인원 수가 3 * N을 넘지 않도록 제한하여 출력한다.

코드로 구현

package baekjoon.baekjoon_26;

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

// 백준 27110번 문제
public class Main924 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        // 첫 번째 줄에서 주문한 각 종류의 치킨 마릿수 N을 읽어옵니다.
        int N = Integer.parseInt(br.readLine());

        // 두 번째 줄에서 각 종류의 치킨을 가장 선호하는 병사의 수 A, B, C를 읽어옵니다.
        String[] preferences = br.readLine().split(" ");
        int A = Integer.parseInt(preferences[0]);
        int B = Integer.parseInt(preferences[1]);
        int C = Integer.parseInt(preferences[2]);

        // 각 종류의 치킨을 받을 수 있는 최대 인원수를 계산합니다.
        // A, B, C 중 각 치킨의 수(N)와 선호하는 인원 수의 최소값을 취합니다.
        int friedChicken = Math.min(A, N);
        int soyChicken = Math.min(B, N);
        int spicyChicken = Math.min(C, N);

        // 선호하는 종류의 치킨을 받을 수 있는 인원수의 최대값을 계산합니다.
        int maxPreferred = friedChicken + soyChicken + spicyChicken;

        // 총 인원 수가 N의 세 배를 넘지 않도록 합니다.
        int total = Math.min(maxPreferred, 3 * N);

        // 결과 출력
        System.out.println(total);
        br.close();
    }
}

마무리

코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.

profile
Junior backend developer

0개의 댓글

관련 채용 정보