반응형
문제 풀이
문제를 읽어보면 이해하는데나 방법을 찾는데에 큰 어려움은 없는 쉬운 문제입니다. 각 시험장에서 총감독이 관리하는 인원만큼 제외하고 부감독이 몇명 필요한지 구해 총 합을 리턴하면 됩니다.
하지만 문제의 제한사항을 제대로 안보면 틀렸다고 나오는데 N이 1,000,000, 각 시험장에 1,000,000 명씩, B와 C가 모두 1이라고 가정하면 결과는 int범위를 넘어서는 큰 수가 나오게 됩니다. 총 합을 구할때에 long 타입으로 하면 이슈없이 문제를 푸실 수 있습니다.
소스 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] room = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
room[i] = Integer.parseInt(st.nextToken());
}
st = new StringTokenizer(br.readLine());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
long answer = N;
for (int candidate : room) {
candidate -= B;
if (candidate > 0) {
answer += candidate % C == 0 ? candidate / C : candidate / C + 1;
}
}
System.out.println(answer);
}
}
반응형
'알고리즘(Algorithm) > 백준(Baekjoon)' 카테고리의 다른 글
[백준 Baekjoon] 5014번 스타트링크 - JAVA (0) | 2021.11.15 |
---|---|
[백준 Baekjoon] 1715번 카드 정렬하기 - JAVA (0) | 2021.11.15 |
[백준 Baekjoon] 10818번 가로수 - JAVA (0) | 2021.11.13 |
[백준 Baekjoon] 2577번 숫자의 개수 - JAVA (0) | 2021.03.20 |
[백준 Baekjoon] 2562번 최대값 - JAVA (0) | 2021.03.19 |