✏️기록하는 즐거움
article thumbnail

Link

 

9498번: 시험 성적

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

www.acmicpc.net

문제

시험 점수를 입력받아 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절 사이에 작성하여도 무관하다.

 


Comment

첫 번째는 switch-case문, 두 번째는 if-else문으로 제출해봤다.

if-else문이 조금 더 효율적이었던 문제 같다!

profile

✏️기록하는 즐거움

@nor_coding

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!