© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

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

BOJ 9699 - RICE SACK

2026-01-11
BOJ
브론즈 IV
cpp
원본 문제 보기
구현

문제

BOJ 9699 - RICE SACK

쌀 부대에 5개의 쌀을 넣을 수 있다. N개의 테스트케이스가 주어질 때, 각 테스트케이스에서 5개의 정수 중 가장 큰 값을 구하는 문제이다.

출력 형식은 Case #i: max_value 형태이다.

입력

  • 첫 번째 줄에 테스트케이스 수 N이 주어진다.
  • 각 테스트케이스에는 5개의 정수가 공백으로 구분되어 주어진다.

출력

각 테스트케이스마다 Case #i: max_value 형식으로 출력한다. i는 1부터 시작하는 테스트케이스 번호이다.

예제

입력출력
3 3 1 4 1 5 9 2 6 5 3 2 7 1 8 2Case #1: 5 Case #2: 9 Case #3: 8

풀이

5개의 값을 입력받으며 최댓값을 갱신하는 단순 구현 문제이다.

  1. N개의 테스트케이스를 순서대로 처리한다.
  2. 각 테스트케이스에서 5개의 정수를 읽으면서 최댓값을 추적한다.
  3. Case #i: max 형식으로 결과를 출력한다.

핵심 아이디어: 최댓값 변수를 0으로 초기화하고 5개의 값을 읽으면서 삼항 연산자 max > a ? max : a로 최댓값을 갱신한다. 입력값이 모두 양수임을 전제로 0 초기화가 동작한다.

코드

#include <iostream>
 
using namespace std;
 
int main()
{
  int n, max, a;
  cin >> n;
  for (int i = 0; i < n; i++)
  {
    max = 0;
    for (int j = 0; j < 5; j++)
    {
      cin >> a;
      max = max > a ? max : a;
    }
    cout << "Case #" << i + 1 << ": " << max << "\n";
  }
}

복잡도

  • 시간: O(N) - N개의 테스트케이스, 각 5개의 값 처리 (상수)
  • 공간: O(1) - 추가 메모리 불필요