pair와 같이 코플릿 문제 풀기 진행
- 조건문
- 반복문
어려웠거나 힘들었던 문제
<조건문>
문제 :
점수를 입력받아 점수에 해당하는 등급을 리턴해야 합니다.
입력 :
인자 1 : score
number 타입의 정수
출력
string 타입을 리턴해야 합니다.
각 등급의 최저 점수는 아래와 같습니다. ('F'의 경우 최대 점수를 표기)
90 이상 --> 'A'
80 이상 --> 'B'
70 이상 --> 'C'
60 이상 --> 'D'
60 미만 --> 'F'
주의 사항
만약 주어진 점수가 100을 초과하거나 0 미만인 경우, 문자열 'INVALID SCORE'를 리턴해야 합니다.
각 등급의 최고 점수보다 7점 이하인 경우, 등급과 함께 '-'를 리턴해야 합니다. (단, 93점의 경우에는 A를 리턴해야 합니다.)
각 등급의 최저 점수보다 8점 이상인 경우, 등급과 함께 '+'를 리턴해야 합니다.
F+ 와 F- 는 존재하지 않습니다.
입출력 예시
1
let output = convertScoreToGradeWithPlusAndMinus(91);
2
console.log(output); // --> 'A-'
<code>
<풀이>
구글링을 하여 참고한 code 입니다.
변수 지정
unitDigit: score 10으로 나눠서 숫자중에 1의 자리를 볼 수 있게 만들 변수
grade: 각각의 조건에 맞게 학점을 넣어줄 변수
let unitDigit = score % 10; // 1의자리
주의 사항에 있는 조건을 맨 처음에 조건문으로 작성하여 밑에 있는 기능들이 불 필요하게 돌아가지 않도록 한다.
만약 주어진 점수가 100을 초과하거나 0 미만인 경우, 문자열 'INVALID SCORE'를 리턴해야 합니다.
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) return 'F'; // F일 경우 바로 리턴
위의 조건을 충족하거나 충족하지 않았다면 return 값을
학점이 넣어져있는 변수와 signMaker 함수에 인자를 보내서 각 조건에 맞는 부호를 받은 값을 string 으로 더한 값을 리턴한다.
return grade + signMaker(unitDigit); // 등급 + 부호
signMaker 함수 :
convertScoreToGradeWithPlusAndMinus 함수에서
unitDigit 변수를 보내서 주의사항에 적어놓은 조건에 맞게
1의 자리 수를 보고 각각에 맞는 문자열을 리턴한다.
각 등급의 최고 점수보다 7점 이하인 경우, 등급과 함께 '-'를 리턴해야 합니다. (단, 93점의 경우에는 A를 리턴해야 합니다.)
각 등급의 최저 점수보다 8점 이상인 경우, 등급과 함께 '+'를 리턴해야 합니다.
F+ 와 F- 는 존재하지 않습니다.
function signMaker(unitDigit){
if(unitDigit >= 8 && unitDigit <= 9) return '+';
else if(unitDigit >= 0 && unitDigit <= 2) return '-';
else return '';
}
'Boot Camp > code states' 카테고리의 다른 글
[ javascript ] - JavaScript Koans 과제 (0) | 2023.03.22 |
---|---|
[ script ] - script 구현 과제 (0) | 2023.03.21 |
HTML/CSS 활용 - 과제 [ 계산기 목업 만들기 ] (0) | 2023.03.21 |
css 과제 - [ 자기 소개 페이지 꾸미기 ] (0) | 2023.03.21 |
HTML - 과제 [ 자기소개 페이지 만들기 ] (0) | 2023.03.21 |