https://www.acmicpc.net/problem/23971
- 사용언어 : node.js
- 알고리즘 : 수학, 구현 ,사칙연산
- Solved.ac Tier : Bronze III
node.js 코드
1. 문제 정리
ZOAC이라는 행사를 하기 위해 강의실을 빌려야 하는데 강의실에서 대회를 치르려면 거리두기를 해야한다고 한다.
테이블이 행마다 W개씩 H행에 걸쳐 있을 때 모든 참가자들은 세로로 N칸 가로로 M칸을 비우고 앉아야 한다.
거리두기를 지키면서 최대 몇 명을 수용 할 수있는지 구해보자.
let seat = 0;
seat+= Math.ceil(input[0] / (parseInt(input[2])+1)) ;
seat*= Math.ceil(input[1] / (parseInt(input[3])+1)) ;
문제의 공식은 이러하다.
좌석의 개수를 알면 되니 일단 가로로 몇 명, 세로로 몇 명 앉을 수 있나 계산 해본 뒤 둘을 곱해주면 된다.
가로를 구하는 법은 H / N + 1일 것이고, 세로를 구하는 법은 W / M + 1일 것이다.
2. 완성 코드
let input = require('fs').readFileSync('/dev/stdin').toString().split(" ") // /dev/stdin
let seat = 0;
seat+= Math.ceil(input[0] / (parseInt(input[2])+1)) ;
seat*= Math.ceil(input[1] / (parseInt(input[3])+1)) ;
console.log(seat)
'백준 알고리즘 > Lang-node.js' 카테고리의 다른 글
[백준/node.js] 24262번 알고리즘 수업 - 알고리즘의 수행 시간 1 (0) | 2022.01.25 |
---|---|
[백준/node.js] 23803번 골뱅이찍기 - ㄴ (0) | 2022.01.20 |
[백준/node.js] 23802번 골뱅이 찍기 - 뒤집힌 ㄱ (0) | 2022.01.19 |
[백준/node.js] 9012번 괄호 (0) | 2022.01.13 |
[백준/node.js] 2523번 별찍기 - 13 (0) | 2022.01.08 |