알고리즘

백준 조건문

비루블 2022. 8. 8. 06:41

포기2525

 

1330 두 수 비교하기

입력

1 2

출력

<

코드

var fs=require('fs');
var input=fs.readFileSync('/dev/stdin').toString().split(" ")
const a = parseInt(input[0]);
const b = parseInt(input[1]);
if (a > b) {
console.log(">");
} else if (a < b) {
console.log("<");
} else {
console.log("==");
}

 

9498 시험 성적

입력

100

출력

A

코드

var fs=require('fs');
var input=fs.readFileSync('/dev/stdin').toString()
const a = parseInt(input);
if (a >= 90 ) {
    console.log("A");
} 
else if ( a >= 80 ) {
	console.log("B");
}
else if ( a >= 70){
	console.log("C");
} 
else if ( a >= 60){
	console.log("D")
}
else {
	console.log("F");
}

주어진 입력이 1개라는 것.(split함수 사용x, input에 인덱스 x)

else if는 순차적으로 들어가는 것이기 때문에, 조건을 <= a <= 이런식으로 안걸어도 됨.

 

 

2753 윤년

입력

2000

출력

1

코드

var fs=require('fs');
var input=fs.readFileSync('/dev/stdin').toString()
const a = parseInt(input);
if(a % 4 === 0){
	if(a % 100 !== 0 ){
		console.log("1")
	}
	else if( a % 400 === 0 ){
		console.log("1")
	}
	else{
		console.log("0")
	}
}
else{
	console.log("0")
}

조건문 입력시 요령은 큰조건에서 작은 조건으로 줄여나가는 것이라는 것을 깨달음

 

 

14681 사분면 고르기

입력

12
5

출력

1

코드

var fs=require('fs');
var [a, b]=fs.readFileSync(0).toString().trim().split('\n');

if(a > 0 && b > 0){
	console.log("1");
}
else if(a < 0 && b > 0){
	console.log("2");
}
else if(a < 0 && b < 0){
	console.log("3");
}
else{
	console.log("4")
}

 

 

2884 알람 시계

입력

10 10
0 30

출력

9 25
23 45

코드

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().split(' ');
var a = parseInt(input[0]);
var b = parseInt(input[1]);

if( a == 0 && b < 45){
    console.log(23, b+15)
}
else if( b >= 45 ){
    console.log(a, b-45)
}
else{
    console.log(a-1, b+15)
}

 

 

2525 오븐 시계

입력

14 30
20

출력

14 50

코드

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

let hour = parseInt(input[0].split(' ')[0]);
let minute = parseInt(input[0].split(' ')[1]);
let time = parseInt(input[1]);

minute = minute + time
if(minute >= 60){
    hour += Math.floor(minute/60);
    minute = minute % 60;
    
    if(hour >= 24){
        hour -= 24
    }
}
console.log(hour, minute);

 

 

2480 주사위 세개

입력

3 3 6

출력

1300

코드

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().split(' ');
var a = parseInt(input[0]);
var b = parseInt(input[1]);
var c = parseInt(input[2]);
const d = [a, b, c].sort();
if (d[0] === d[1] && d[1] === d[2]){
    console.log(10000 + 1000 * d[0]);
}
else if((d[0] === d[1] || d[1] === d[2])){
    console.log(1000 + 100 * d[1]);
}
else{
    console.log(d[2] * 100);
}

sort로 오름차순으로 바꿈

다 같을때, 2개만 같을때, 다 다를때로 나누어 코드 구성

다른사람 풀이

const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");

input = input[0]
  .split(" ")
  .map((item) => +item)
  .sort((a, b) => a - b);
let A = input[0];
let B = input[1];
let C = input[2];

if (A === B && B === C) console.log(10000 + 1000 * A);
else if (A === B || B === C) console.log(1000 + 100 * B);
else console.log(C * 100);