[백준(JAVA)] 23971번: ZOAC 4

세하·2025년 2월 7일

[백준] 문제풀이

목록 보기
38/94

문제

✔ 난이도 - Bronze 2

설명

N이 2라고 가정
H가 1, 2, 3일때 앉을 수 있는 인원은 1
H가 4, 5, 6일때 앉을 수 있는 인원은 2
H가 7, 8, 9일때 앉을 수 있는 인원은 3


H / (N+1) 의 몫이 x x x+1 로 반복되고있음. 그리고 이때 x+1이 인원의 수임.
그러나 H가 4,5 일때와 6 일때의 몫이 다르기때문에 조건에 따라 분기처리를 해줘야하는데 이건 규칙이라고 할 수 없음.
몫이 일정하도록 맞춰주려면 H를 하나씩 줄여주면 됨.
(H-1) / (N+1) 의 몫은 x x x 로 반복되고있음. 그러나 x+1이 인원의 수이기때문에
(H-1) / (N+1) + 1 을 해주면 된다!

풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();

        StringTokenizer st = new StringTokenizer(br.readLine());
        int H = Integer.parseInt(st.nextToken());
        int W = Integer.parseInt(st.nextToken());
        int N = Integer.parseInt(st.nextToken());
        int M = Integer.parseInt(st.nextToken());

        int row = (W - 1)  / (M + 1) + 1;
        int col = (H - 1) / (N + 1) + 1;

        sb.append(row * col);
        
        System.out.println(sb);
    }
}

0개의 댓글