개발자 미니민의 개발스터디

[백준 23971번 JAVA] ZOAC 4

by mini_min
다시 백준 시작!!!! 🥺 무려 4개월 동안 쉬었으니까 차근차근, 꾸준히 풀자 

 

 

🥲🪄 규칙 찾는 건 어렵지 않았다 ! 
(N + 1) 과 (M + 1) 해서 구한 행과 열의 자릿수를 곱하는 것까지는 생각....

하지만 코드로 2줄만에 구현하는 것은 생각을 못했다..... (while 을 두 번 쓸 생각함....ㅎ 주석이 내가 짠 코드...)
굳이 while 이 아닌 나눗셈으로 구해도 되는걸 왜 생각 못했을까..! 다음에 비슷한 문제는 꼭 맞춰야지 

 

package baekjoon;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 거리두기 수칙
 * 테이블 = w 개씩  
 * 행 = h 행에 걸쳐져 있음 
 * 옆으로 n 칸 or 앞뒤로 m 칸 이상 비우고 앉아야함. (>n, >m) 
 * 최대 수용 가능한 인원은? 
 * 
 * h, w, n, m  
 * (열, 행) (규칙) 
 * 
 * @author Back
 *
 */
public class _23971 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		String[] in = br.readLine().split(" ");
		br.close();
		
		double h = Integer.parseInt(in[0]);
		double w = Integer.parseInt(in[1]);
		double n = Integer.parseInt(in[2]); //세로 
		double m = Integer.parseInt(in[3]); //가로 
		
//		int w_count = 1;
//		int h_count = 1;
//		
//		int seat = 1;
//		while(true) {
//			seat = seat + (n+1);
//			if(seat <=w) {
//				w_count++;
//				
//			} else if (seat > w) {
//				break;
//			}
//		}
//		
//		seat = 1;
//		while(true) {
//			seat = seat + (m+1);
//			if(seat <= h) {
//				h_count++;
//				
//			} else if (seat > h) {
//				break;
//			}
//		}
//		
//		int result = w_count * h_count;
		
		/**************시도는 좋았으나....ㅠ ****************/
		// 강의실 길이 / (n+1) 또는 (m+1)
		int w_count = (int)Math.ceil(w/(m+1));
		int h_count = (int)Math.ceil(h/(n+1));
		
		int result = w_count * h_count;
		
		System.out.println(result);
		
	}

}

 

 

 

블로그의 정보

개발자 미니민의 개발로그

mini_min

활동하기