백준 알고리즘 / 2.if문

dudgus5766·2021년 7월 10일
0

알고리즘

목록 보기
3/15
post-thumbnail

9498번

문제 : hhttps://www.acmicpc.net/problem/9498

풀이

/*
문제 : 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
입력 : 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력 : 시험 성적을 출력한다.
*/

// 답안
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');

let score = Number(input);

if (score >= 90){
    console.log('A')
}
else if (score <= 89 && score >= 80 ){
    console.log('B');
}
else if (score >= 70 && score <= 79) {
    console.log('C');
}
else if (score >= 60 && score <= 69) {
    console.log('D');
}
else {
    console.log('F');
};
// 코딩에 F가 없길 바라며,,

2753번

문제 : https://www.acmicpc.net/problem/2753

풀이

/*
문제 : 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오.
윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다.
예를 들어, 2012년은 4의 배수이면서 100의 배수가 아니라서 윤년이다. 1900년은 100의 배수이고 400의 배수는 아니기 때문에 윤년이 아니다. 하지만, 2000년은 400의 배수이기 때문에 윤년이다.
입력 : 첫째 줄에 연도가 주어진다. 연도는 1보다 크거나 같고, 4000보다 작거나 같은 자연수이다.
출력 : 첫째 줄에 윤년이면 1, 아니면 0을 출력한다.
*/

// 답안
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split(' ');

let year = Number(input);

if (year % 4 === 0 && (year % 100 !=== 0 || year % 400 === 0)){  // (만약 연도를 4로 나눴을 때 값이 0)이고 (연도를 100으로 나눴을 때 값이 0이 아니거나 400으로 나눴을 때 0)이라면
    console.log('1'); // 1을 출력한다.
} else {
    console.log('0'); // 나머지는 0을 출력한다.
};

💡마치며

2753번 윤년 문제에서 시간이 제일 오래 걸렸다. 막상 맞은 답을 보면 너무 간단해서 이렇게 골머리를 앓을 문제는 아니었다!
문제를 보면 어떻게 하면 간단하게 내 생각을 표현할 수 있을 지 고민부터 해보자!

profile
RN App Developer

0개의 댓글