728x90
반응형

백준알고리즘

- Bronze 4 -

 #13136. Do Not Touch Anything by JAVA and node.js 

 


 

문제

출처: https://www.acmicpc.net/problem/13136 

 


 

접근 방법

R행 C열의 직사각형 형태의 좌석을 N행 N열의 직사각형(정사각형이겠지) 영역의 좌석을 촬영할 수 있다면,

R/N(or R/N +1) * C/N(or C/N +1)개 만큼의 CCTV가 필요할 것이다.

+1을 할지 말지는 나머지가 존재하냐 안하냐의 여부로 해주면 된다.

주의할 점은, 입력값들의 범위가 1이상 1,000,000이하이므로 만약 r,c가 최대값이고 n=1이라면 결과값이 1,000,000,000,000이므로 int형이 아닌 long형으로 반환해야 한다는 점이다.

 


 

풀이

▶ JAVA

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int r = scan.nextInt(); // 행
        int c = scan.nextInt(); // 렬
        int n = scan.nextInt(); // CCTV 한 행(렬)
        scan.close();

        long x = (r % n > 0 ? (r/n) + 1 : (r/n)); // 가로(행)에 필요한 CCTV 수
        long y = (c % n > 0 ? (c/n) + 1 : (c/n)); // 세로(렬)에 필요한 CCTV 수

        System.out.println(x * y);
    }
}

 

▶ node.js

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trim().split(' ').map(v => +v);

var r = input[0];
var c = input[1];
var n = input[2];

var x = r%n == 0 ? r/n : parseInt(r/n)+1;
var y = c%n == 0 ? c/n : parseInt(c/n)+1;

console.log(x*y);

 


 

결과

 


 

 

 

 

 

End.

heisely's 괴발개발 개발일지

 

728x90
반응형

+ Recent posts