문제 설명
점수가 주어졌을때, "convertScoreToGradeWithPlusAndMinus" 함수는 주어진 점수와 대응하는 등급을 문자열로 반환합니다.
조건
-
(100 - 90) --> 'A'
-
(89 - 80) --> 'B'
-
(79 - 70) --> 'C'
-
(69 - 60) --> 'D'
-
(59 - 0) --> 'F'
-
만약 주어진 점수가 100을 초과하거나 0 미만이라면 INVALID SCORE 를 반환해야 합니다.
-
만약 점수의 1의 자리가 0~2 사이라면 등급과 함께 '-'를 반환해야 합니다.
-
만약 점수의 1의 자리가 8~9 사이라면 등급과 함께 '+'를 반환해야 합니다.F+ 와 F- 는 존재하지 않습니다.
입출력 예시
let output = convertScoreToGradeWithPlusAndMinus(91);
console.log(output); // 'A-'
*풀이
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
function signMaker(unitDigit){
if(unitDigit >= 8 && unitDigit <= 9) return '+';
else if(unitDigit >= 0 && unitDigit <= 2) return '-';
else return '';
}
function convertScoreToGradeWithPlusAndMinus(score) {
let tenDigit = Math.floor(score / 10); // 10의자리
let unitDigit = score % 10; // 1의자리
let grade; // 학점
if(score > 100 || score < 0) return "INVALID SCORE";
if(score === 100) return 'A+';
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) return 'F'; // F일 경우 바로 리턴
return grade + signMaker(unitDigit); // 등급 + 부호
}
|
cs |
'알고리즘 > JavaScript | AG' 카테고리의 다른 글
[객체] 각 키의 값은 해당 문자가 주어진 문자열에서 몇번 나오는가? (0) | 2020.06.18 |
---|---|
[객체] 객체 두개가 주어졌을때, 두번째 객체의 속성을 첫번째에 추가하라 (0) | 2020.06.18 |
[객체] 주어진 객체의 속성의 총 갯수는 몇개인가요? (0) | 2020.06.18 |