https://www.acmicpc.net/problem/13458
문제
해결 방안
문제를 이해하고 단순히 구현하는 문제이다.
1. 총 감독은 시험장마다 1명씩 있어서 시험자 응시자 수 배열 a[]에서 b(총감독이 맡을 수 있는 응시자 수)만큼 다 빼주고 cnt++해주고 시작하였다.
2. b만큼 빼준 a[i] 값이 0보다 작거나 같으면 부감독이 필요없으므로 continue 해줬다.
3. 그렇지 않는 경우 a[i]를 c(부감독이 맡을 수 있는 응시자 수)로 나눠주고 몫을 cnt에 더해줬다.
4. a[i]를 c로 나누었을 때 나머지 값이 0보다 큰 경우 부 감독이 한명 더 필요하므로 cnt++를 해줫다.
코드
import java.util.Scanner;
// 시험 감독
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner input = new Scanner(System.in);
int n = input.nextInt();
long cnt = 0; // 감독관 수
int[] a = new int[n]; // 응시자 수
for(int i=0; i<n; i++) {
a[i] = input.nextInt();
}
int b = input.nextInt(); // 총감독이 맡을 수 있는 사람수
int c = input.nextInt(); // 부감독이 맡을 수 있는 사람수
for(int i=0; i<n; i++) {
a[i]-=b;
cnt++;
// 총 감독이 맡을 수 있는 경우는 부감독 필요 없으므로 넘어감
if(a[i]<=0) {
continue;
}
// 부감독이 추가로 필요한 경우
else {
cnt += a[i]/c;
// 나머지가 0보다 크면 부감독 한명 더 추가
if(a[i]%c > 0) {
cnt++;
}
}
}
System.out.println(cnt);
}
}
'Development Logs > Algorithms' 카테고리의 다른 글
[JAVA] 백준 14500번 : 테트로미노 (삼성 SW 역량 테스트 기출 문제) (0) | 2020.08.10 |
---|---|
[JAVA] 백준 14499번 : 주사위 굴리기 (삼성 SW 역량 테스트 기출 문제) (0) | 2020.08.07 |
[JAVA] 프로그래머스 : 큰 수 만들기 (코딩테스트 고득점 kit > 탐욕법(Greedy)) (0) | 2020.08.04 |
[JAVA] 프로그래머스 : 구명보트 (코딩테스트 고득점 kit > 탐욕법(Greedy)) (0) | 2020.08.04 |
[JAVA] 프로그래머스 : 가장 먼 노드 (코딩테스트 고득점 kit > 그래프) (0) | 2020.08.03 |