문제 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'가 나오기 때문에 브레이크 값을 잡아 주어야합니다.