본문 바로가기
Algorithm

백준 조건문 (1330/9498/2753/14681/2884/2525/2480) node.js

by 해-온 2023. 1. 20.

✏️ 문제(1330 / 두 수 비교하기 / node.js)

 

1330번: 두 수 비교하기

두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오.

www.acmicpc.net

📝 해답

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ').map(Number);

const A = input[0];
const B = input[1];

if (A > B) console.log('>');
else if (A < B) console.log('<');
else console.log('==');

 


 

✏️ 문제(9498/ 시험 성적 / node.js)

 

9498번: 시험 성적

시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

📝 해답

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin');

const score = Number(input);

if (score > 89) console.log('A');
else if (score > 79) console.log('B');
else if (score > 69) console.log('C');
else if (score > 59) console.log('D');
else console.log('F');

 


 

✏️ 문제(2753 / 윤년 / node.js)

 

2753번: 윤년

연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서

www.acmicpc.net

📝 해답

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin');

const year = Number(input);

if ((year % 4 === 0 && year % 100 !== 0) || year % 400 === 0) console.log(1);
else console.log(0);

 


 

✏️ 문제(14681 / 사분면 고르기 / node.js)

 

14681번: 사분면 고르기

점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다.

www.acmicpc.net

📝 해답 ('fs 모듈' 사용시 에러 -> 'readline' 사용)

const readline = require("readline");

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

const input = [];

rl.on('line', function (line) {
    input.push(line);
  }).on('close', function () {

const x = parseInt(input[0]);
const y = parseInt(input[1]);

if (x > 0 && y > 0) console.log(1);
else if (x < 0 && y > 0) console.log(2);
else if (x < 0 && y < 0) console.log(3);
else console.log(4);

process.exit();
});

 


 

✏️ 문제(2884 / 알람 시계 / node.js)

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

📝 해답

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ').map(Number);

let H = input[0];
let M = input[1];

M -= 45;

if (M < 0) {
  M += 60;
  H--;
}

if (H === -1) H = 23;

console.log(H + ' ' + M);

 


 

✏️ 문제(2525/ 오븐 시계 / node.js)

 

2525번: 오븐 시계

첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)

www.acmicpc.net

📝 해답

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split('\n');

const time = input[0].split(' ');
const A = Number(time[0]);
const B = Number(time[1]);
const cookingTime = Number(input[1]);

const cookHour = parseInt((A * 60 + B + cookingTime) / 60);
const cookMin = parseInt((A * 60 + B + cookingTime) % 60);

cookHour > 23
  ? console.log(cookHour - 24, cookMin)
  : console.log(cookHour, cookMin);

 


 

 문제(2480 / 주사위 세개 / node.js)

 

2480번: 주사위 세개

1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다.  같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다.  같은 눈이 2개

www.acmicpc.net

📝 해답

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().split(' ').map(Number);

let prize = 0;

input.sort((a, b) => a - b);

if (input[0] === input[1] && input[1] === input[2] && input[0] === input[2])
  prize = 10000 + input[0] * 1000;
else if (input[0] === input[1] || input[1] === input[2])
  prize = 1000 + input[1] * 100;
else prize = input[2] * 100;

console.log(prize);

 

 

댓글