본문 바로가기
Develop/백준 (Cpp)

[백준] 10833번: 사과 (C++)

by Tarra 2023. 1. 20.

10833번: 사


문제 )

경상북도 특산품인 사과를 학생들에게 나눠주기 위해 여러 학교에 사과를 배정하였다. 배정된 사과 개수는 학교마다 다를 수 있고, 학생 수도 학교마다 다를 수 있다. 각 학교에서는 배정된 사과를 모든 학생들에게 똑같이 나눠주되, 남는 사과의 개수를 최소로 하려고 한다. (서로 다른 학교에 속한 학생이 받는 사과 개수는 다를 수 있다.)

예를 들어, 5개 학교의 학생 수와 배정된 사과 수가 다음과 같다고 하자.

 

 

A 학교에서는 모든 학생에게 사과를 두 개씩 나눠주고 4개의 사과가 남게 된다. B 학교에서는 모든 학생에게 사과를 한 개씩 나눠주고 9개의 사과가 남게 된다. 비슷하게 C 학교에서는 3개의 사과가, D 학교에서는 10개의 사과가, E 학교에서는 0개의 사과가 남게 되어, 남는 사과의 총 수는 4+9+3+10+0 = 26이다. 

각 학교의 학생 수와 사과 개수가 주어졌을 때, 학생들에게 나눠주고 남는 사과의 총 개수를 구하는 프로그램을 작성하시오.

 

 

 

입력 :

첫 번째 줄에는 학교의 수를 나타내는 정수 N (1 ≤ N ≤ 100)이 주어진다. 다음 N 개의 줄에 각 학교의 학생 수와 배정된 사과 개수를 나타내는 두 개의 정수가 주어진다. 학생 수와 사과 개수는 모두 1이상 100이하이다. 

 

 

 

출력 :

남은 사과의 총 개수를 나타내는 정수를 출력한다.

 

 

 

 

풀이)

문제를 천천히 읽어보고,

각 학생수와 사과수에 대한 나머지를 더해주면 되는 것을 알 수 있었다.

따라서 나머지 연산자인 `%`을 이용하여 값을 계산해주었다.

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
 
using namespace std;
 
int main()
{
    int n;
    cin >> n;
 
    int remain_apple = 0;
 
    for (int i = 0; i < n; i++) {
        int student, apple;
        cin >> student >> apple;
 
        remain_apple += apple % student;
    }
 
    cout << remain_apple;
 
    return 0;
}
 
cs

 


출처 : https://www.acmicpc.net/problem/10833

 

10984번: 내 학점을 구해줘

게으른 근우는 열심히 놀다가 문득, 자신의 학점 평균이 얼마일지 궁금해졌다. 학사시스템도 들어가기 귀찮아하는 근우를 위해 구해주도록 하자. 

www.acmicpc.net