© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 27110 - 특식 배부

2023-01-23
BOJ
브론즈 IV
java
원본 문제 보기
수학
사칙연산

문제

BOJ 27110 - 특식 배부

N명의 학생에게 3가지 특식(각각 수량이 다름)을 배부한다. 각 학생은 최대 1인분만 받을 수 있을 때, 배부 가능한 총 인분 수를 구하라.

입력

첫째 줄에 N, 둘째 줄에 3가지 특식의 수량이 주어진다.

출력

배부 가능한 총 인분 수를 출력한다.

예제

입력출력
5 3 6 412

풀이

각 특식별로 학생 수 N과 수량 중 작은 값을 합산한다.

  1. 3가지 특식 각각에 대해 min(수량, N)을 구한다 (N명 초과 배부 불가)
  2. 세 값을 합산하여 출력한다

핵심 아이디어: 각 특식은 독립적으로 N명까지만 배부 가능하므로, 각각 min(수량, N)으로 제한한다.

코드

package day399;
 
import java.io.*;
import java.util.*;
 
public class Day350BOJ27110특식배부 {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int N = Integer.parseInt(st.nextToken());
        st = new StringTokenizer(br.readLine());
        System.out.println(Math.min(Integer.parseInt(st.nextToken()), N) + Math.min(Integer.parseInt(st.nextToken()), N)
                + Math.min(Integer.parseInt(st.nextToken()), N));
        br.close();
    }
}

복잡도

  • 시간: O(1)
  • 공간: O(1)