본문 바로가기

알고리즘(백준 등) 공부

SWEA 22795. 일곱 부하의 평균

원래 7명 이었던 사람들 중 1명의 키가 빠져있을 때, 빠진 사람의 키가 남아있는 사람들보다 클 때 원래 키의 평균이 양의 정수임을 만족하는 가장 작은 키를 구하는 문제이다.

 

나머지 6명의 키의 합과 최대값을 찾은 후, 최대값 + 1 부터 가장 먼저 합에 포합시켜 7로 나눈 나머지가 0인 수가 빠진 사람의 키가 된다.

for(int i=0; i<6; i++) {
    int height = Integer.parseInt(st.nextToken());
    sum += height;
    max = Math.max(max, height);
}
max++;
while(true) {
    if((sum+max) % 7 == 0) {
        sb.append(max).append('\n');
        break;
    }
    max++;
}

 

 

결과 코드는 다음과 같다.

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

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int tc = Integer.parseInt(br.readLine());
        StringBuilder sb = new StringBuilder();
        
        while(tc-- > 0) {
            int sum = 0, max = 0;
            StringTokenizer st = new StringTokenizer(br.readLine());
            for(int i=0; i<6; i++) {
                int height = Integer.parseInt(st.nextToken());
                sum += height;
                max = Math.max(max, height);
            }
            max++;
            while(true) {
                if((sum+max) % 7 == 0) {
                    sb.append(max).append('\n');
                    break;
                }
                max++;
            }
        }
        br.close();
        System.out.print(sb);
    }
}

'알고리즘(백준 등) 공부' 카테고리의 다른 글

SWEA 22574. 높은 곳으로  (0) 2026.04.21
SWEA 22759. 묶음 판매  (0) 2026.04.21
SWEA 22979. 문자열 옮기기  (0) 2026.04.20
SWEA 23003. 색상환  (0) 2026.04.20
SWEA 23005. 회문 만들기  (0) 2026.04.17