9_yoon
개발저장소
9_yoon
전체 방문자
오늘
어제
  • 분류 전체보기 (101)
    • 알고리즘 (52)
      • BJ (40)
      • 프로그래머스 (0)
      • SWEA (10)
      • JO (2)
    • 이론 공부 (7)
      • 네트워크 (2)
      • 알고리즘 (2)
      • Java (1)
      • Web (1)
      • 기타 (1)
    • 개발 공부 (35)
      • Project (1)
      • JavaScript (1)
      • Typescript (1)
      • Spring (12)
      • Java (2)
      • Next JS (7)
      • React (3)
      • Vue (1)
      • Web (5)
      • 기타 (2)
    • 기타 (7)
      • SSAFY (7)
      • 일상 (0)

인기 글

태그

  • React
  • 김영한 스프링
  • SSAFY
  • NextJS
  • 스프링
  • 백준
  • 싸피
  • 노마드코더
  • SWEA
  • 싸피7기

최근 글

티스토리

hELLO · Designed By 정상우.
9_yoon

개발저장소

[BJ] 백준 13458 시험감독 (JAVA)
알고리즘/BJ

[BJ] 백준 13458 시험감독 (JAVA)

2022. 3. 27. 14:26
728x90
반응형

문제

https://www.acmicpc.net/problem/13458

 

풀이 방법

문제는 시험을 보는 반의 개수가 주어지고, 각 반에 학생이 몇명 있는지 주어진다. 
총감독과 부감독이 존재하는데 총감독은 1명만 존재해야하고 부감독은 여러명 존재할 수 있다. 
총감독이 감시할 수 있는 학생수와 부감독이 감시할 수 있는 학생수가 주어졌을 때 모든 학생을 감시하기 위한 최소 감독 수를 구하는 문제다.

다음과 같은 순서로 풀이했다.
1. N번째 반에서 총 감독관 1명이 존재하므로 sum에 1를 더해준다. 
2. 총감독이 감시할 수 있는 학생수를 기존의 학생수에서 빼준다.
3. 남은 학생수가 양수라면 부감독이 감시가능한 학생수를 나눠서 딱 나누어떨어진다면 그 값을, 아니면 1을 더해서 sum에 더해준다. 
4. 반의 개수만큼 반목문을 돌고 sum을 출력해준다. 

 

제출 코드

import java.io.*;
public class BJ_13458_시험감독 {
	public static void main(String[] args) throws NumberFormatException, IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		int[] arr =new int[N];
		String[] str = br.readLine().split(" ");
		for (int i = 0; i < N; i++) {
			arr[i] = Integer.parseInt(str[i]);
		}
		String[] t = br.readLine().split(" ");
		int B = Integer.parseInt(t[0]);
		int C = Integer.parseInt(t[1]);
		long sum = 0;
		for (int i = 0; i < N; i++) {
			int n = arr[i];
			sum++; //총감독관 1명 추가
			n = n-B; //총감독이 볼 수 있는 학생수 빼주기
			if(n>0) sum+= n % C == 0? n/C: n/C + 1; //감시해야할 학생이 남아있는 경우 부감독 수 구하기 
		}
		System.out.println(sum);
	}
}

 

728x90
반응형
저작자표시 비영리 동일조건

'알고리즘 > BJ' 카테고리의 다른 글

[BJ] 백준 1012 유기농 배추 (JAVA)  (0) 2022.03.30
[BJ] 백준 1065 한수 (JAVA)  (0) 2022.03.28
[BJ] 백준 8958 OX퀴즈 (JAVA)  (0) 2022.03.25
[BJ] 백준 3052 나머지 (JAVA)  (0) 2022.03.24
[BJ] 백준 2193 이친 수 (JAVA)  (0) 2022.03.21
    '알고리즘/BJ' 카테고리의 다른 글
    • [BJ] 백준 1012 유기농 배추 (JAVA)
    • [BJ] 백준 1065 한수 (JAVA)
    • [BJ] 백준 8958 OX퀴즈 (JAVA)
    • [BJ] 백준 3052 나머지 (JAVA)
    9_yoon
    9_yoon
    배울게 넘쳐나는 개발 세상에서 묵묵히 걸어가며 지식을 쌓는 신입 개발자

    티스토리툴바