Link
문제
시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오.
입력 > 첫째 줄에 시험 점수가 주어진다. 시험 점수는 0보다 크거나 같고, 100보다 작거나 같은 정수이다.
출력 > 시험 성적을 출력한다.
제출
const fs = require("fs");
const input =
process.platform === "linux"
? fs.readFileSync("/dev/stdin").toString()
: `100`;
const score = input;
// switch-case
switch (parseInt(score / 10)) {
case 10:
case 9:
console.log("A");
break;
case 8:
console.log("B");
break;
case 7:
console.log("C");
break;
case 6:
console.log("D");
break;
default:
console.log("F");
}
// if-else
if (score >= 90 && score <= 100) {
console.log("A");
} else if (score >= 80 && score <= 89) {
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");
}
개념
switch-case문
- Syntax
switch (expression) {
case value1:
// code
break;
case value2:
// code
break;
default:
// code
}
- 식(expression)과 case 절을 비교하고, 일치하는 case절의 코드를 실행한다.
- 여기서 일치란 '==='가 사용되므로 데이터 형태까지 일치해야 한다.
- break
- break를 사용하면 프로그램이 중단된다.
- swtich문의 마지막 case는 자동으로 break 처리되기 때문에 따로 break를 입력하지 않아도 된다.
- break를 생략하면 조건에 맞지 않더라도 다음 case절이 실행된다.
- default
- 일치하는 case절이 없으면 default절에 있는 코드가 실행된다.
- 주로 default절은 마지막에 작성하지만 case절 사이에 작성하여도 무관하다.
더보기
[ '==='과 '=='의 차이에 대해 작성되어 있는 글 ]
https://codingmyoni.tistory.com/38#-%-D%-D%-D-%--vs%---%-D%-D-
[ 참고한 글 ]
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/switch
Comment
첫 번째는 switch-case문, 두 번째는 if-else문으로 제출해봤다.
if-else문이 조금 더 효율적이었던 문제 같다!
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 14681: 사분면 고르기 (javascript) (0) | 2022.03.09 |
---|---|
[백준] 2753: 윤년 (javascript) (0) | 2022.02.25 |
[백준] 1330: 두 수 비교하기 (javascript) (0) | 2022.02.23 |
[백준] 2588: 곱셈 (javascript) (0) | 2022.02.08 |
[백준] 10430: 나머지 (javascript) (0) | 2022.02.08 |