12월 8일 코플릿-1

Ji Taek Lim·2020년 12월 8일
0

문제 12번을 스위치로 풀어보았다.


function convertScoreToGrade(score) {
  if (score >100 || score <0 ) {
    return "INVALID SCORE"
  } 
  switch (parseInt(score / 10)) {
    case 10: 
    case 9: 
      return 'A';
    case 8:
      return 'B';
    case 7:
      return 'C';
    case 6:
      return 'D';
    default:
      return 'F'
  } 
  
}

스위치를 사용하여서 바로바로 return 값을 보내주는 것이였다.


function convertScoreToGrade(score) {
  let grade;
  if (score > 100 || score < 0) {
    return 'INVALID SCORE';
  }
  if (score >= 90) {
    grade = 'A';
  } else if (score >= 80) {
    grade = 'B';
  } else if (score >= 70) {
    grade = 'C';
  } else if (score >= 60) {
    grade = 'D';
  } else if (score >= 0) {
    grade = 'F';
  }

  return grade;
}

이렇게 해주는 것도 좋지만 switch를 사용해서

function convertScoreToGradeWithPlusAndMinus(score) {
  if (score > 100 || score <0) {
    return "INVALID SCORE"
  }

  let grade = ''
  
  switch (parseInt(score/10)) {
    case 10:
      return 'A+';
    case 9:
      grade = 'A';
      break;
    case 8:
      grade = 'B';
      break;
    case 7:
      grade = 'C';
      break;
    case 6:
      grade = 'D';
      break;
    default:
      return 'F';
  }

  if (score %10 <= 3) grade+="-"; 
  else if (score %10 >= 8) grade+="+";
  
  return grade;
}

이렇게 스위치를 사용해주어도 된다.

중간에 있는 break가 없다면 return값을 찾아서 계속 가기 때문에 'A+'인 학생이 아니라면 'F'가 나오기 때문에 브레이크 값을 잡아 주어야합니다.

Math.floor() 에 대한 MDN

ParseInt()에 대한 MDN

profile
임지택입니다.

0개의 댓글