코플릿 / 조건문 (점수에 해당하는 등급 리턴)

support·2021년 8월 31일
0

코딩테스트

목록 보기
4/11
post-thumbnail

📗 조건문 코테

점수를 입력받아 점수에 해당하는 등급을 리턴해야 합니다.

입력
인자 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- 는 존재하지 않습니다.

입출력예시

let output = convertScoreToGradeWithPlusAndMinus(91);
console.log(output); // --> 'A-'

풀이

function PlusAndMinus(unit){
    if(unit >= 8 && unit <= 9) {
      return '+';
    } else if(unit >= 0 && unit <= 2) {
      return '-';
    } else {
      return '';
    }
}
 
function ScorePlusAndMinus(score) {
    let ten = Math.floor(score / 10); // 10의자리 
    let unit = 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 + PlusAndMinus(unit); // 점수 + 부호
}

숫자만 나누면 되는 조건문과 다르게 하나의 조건이 더해져
플러스 마이너스 부호를 같이 출력해줘야했다

  1. 10의 자리로 Grade를 구분한다.
  2. 1의 자리로 기호(+, -)를 구분한다

를 기본으로 잡고 문제를 푸니 해결 할 수 있었다

0개의 댓글

관련 채용 정보