
문제

내 풀이
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());
}
}
느낀점
처음엔 모든 학교의 학생들에게 같은 숫자의 사과를 나눠줘야하는 줄 알고
배열로 입력받은 뒤에 어떻게 계산하지? 했는데 학교마다 나눠주는 사과의 개수가 달랐다.
아주 간단하게, 각 학교의 사과개수 % 학생수로 계산해서 정답에 중첩하면 됐다.