Notice
Recent Posts
Recent Comments
Link
코딩 성장기
점수에 따른 등급 리턴하기 본문
- 만약 주어진 점수가 100을 초과하거나 0 미만인 경우, 문자열 'INVALID SCORE'를 리턴해야 합니다.
- 각 등급의 최고 점수보다 7점 이하인 경우, 등급과 함께 '-'를 리턴해야 합니다. (단, 93점의 경우에는 A를 리턴해야 합니다.)
- 각 등급의 최저 점수보다 8점 이상인 경우, 등급과 함께 '+'를 리턴해야 합니다.
- F+ 와 F- 는 존재하지 않습니다.
내가 쓴 코드
function convertScoreToGradeWithPlusAndMinus(score) {
//A+ 받는경우와 F 받는경우 처리
if(score === 100){
return 'A+'
}
if(0 <= score && score < 60){
return 'F'
}
let unitsDigit = score % 10;
if(90<= score && score <100){
if(0<= unitsDigit && unitsDigit <4){
return 'A-'
}else if(4<= unitsDigit && unitsDigit <8 ){
return 'A'
}else {
return 'A+'
}
}else if(80<= score && score <90){
if(0<= unitsDigit && unitsDigit <4){
return 'B-'
}else if(4<= unitsDigit && unitsDigit <8 ){
return 'B'
}else {
return 'B+'
}
}else if(70<= score && score <80){
if(0<= unitsDigit && unitsDigit <4){
return 'C-'
}else if(4<= unitsDigit && unitsDigit <8 ){
return 'C'
}else {
return 'C+'
}
}else if(60<= score && score <70){
if(0<= unitsDigit && unitsDigit <4){
return 'D-'
}else if(4<= unitsDigit && unitsDigit <8 ){
return 'D'
}else {
return 'D+'
}
}else {
return 'INVALID SCORE';
}
}
코드스테이츠 모범 답안
function plusOrMinus(score) {
const extra = score % 10;
if (extra <= 2) {
return '-';
} else if (extra >= 8) {
return '+';
} else {
return '';
}
}
function convertScoreToGradeWithPlusAndMinus(score) {
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) {
grade = 'F';
}
if (grade !== 'F') {
grade = grade + plusOrMinus(score);
}
return grade;
}
차이점
- +/- 구분을 주는 함수를 따로 만들어서 코드를 간결하게 하였음
고쳐야 할 점
- 코드를 작성하기 전에 반복되는 부분이 있는지 한번 더 생각해보고
반복되는 부분이 있다면 따로 반복문 처리를 하거나, 새로운 함수를 만들어서
처리하도록 한다.
'알고리즘 공부 > Algorithm in JS' 카테고리의 다른 글
[중복순열] 가위바위보 모든 경우 출력하기 (0) | 2022.04.06 |
---|---|
[Greedy] 최소 개수의 박스로 물건 나르기 (0) | 2022.04.05 |
[Greedy] 최소 개수의 동전으로 거스름돈 주기 (0) | 2022.04.05 |
버블정렬 Bubble Sort (0) | 2022.03.07 |