[백준/JAVA] 10833번 사과

정은아·2024년 5월 8일

[알고리즘] 수학 모음

목록 보기
85/152
post-thumbnail

문제

내 풀이

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

public class Main extends Exception {
    public static void main(String[] args) throws IOException {
        // 사과개수는 학교마다 다르고, 학생 수도 다르다.
        // 남는 사과를 최소로 출력한다.

        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        // 테스트케이스를 입력받는다.
        int num = Integer.parseInt(br.readLine());
        // 답을 출력할 변수를 만든다.
        int answer = 0;
        
        // for문을 num 만큼 돌린다.
        // 그 속에서 학생 수와 사과 개수를 입력받고 나머지를 answer에 중첩한다.
        for (int i = 0; i < num; i++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int student = Integer.parseInt(st.nextToken());
            int apple = Integer.parseInt(st.nextToken());

            answer += apple % student;
        }

        sb.append(answer);
        System.out.println(sb.toString());
    }
}

느낀점

처음엔 모든 학교의 학생들에게 같은 숫자의 사과를 나눠줘야하는 줄 알고
배열로 입력받은 뒤에 어떻게 계산하지? 했는데 학교마다 나눠주는 사과의 개수가 달랐다.
아주 간단하게, 각 학교의 사과개수 % 학생수로 계산해서 정답에 중첩하면 됐다.

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글