해결된 질문
작성
·
253
0
function ratingDetail(num) {
// 여기에 코드를 작성하세요.
let result;
if (num >=90 && num <=100 ) {
result = "A";
if (num >= 96) {
result += "+";
} else if (num <= 93) {
result += "-";
} else {
}
} else if (num >= 80 && num < 90) {
result = "B";
if (num >= 86) {
result += "+";
} else if (num <= 83) {
result += "-";
} else {
}
} else if (num >= 70 && num < 80) {
result = "C";
if (num >= 76) {
result += "+";
} else if (num < 73) {
result += "-";
} else {
}
} else if (num >= 60 && num < 70) {
result = "D";
if (num >= 66) {
result += "+";
} else if (num < 63) {
result += "-";
} else {
}
} else if (num > 0 && num < 60) {
result = "등급미달";
} else {
result = "잘못된 값입니다";
}
return result;
}
ratingDetail(60);
output에 맞추다 보니 이렇게 코드가 길고
가독성이 떨어지게 되었습니다.
if문을 중첩으로 사용하는 것 외의
다른 방법으로 코드를 최적화할 수 있는 방법이 궁금합니다. 커리큘럼 중 어느 부분을 찾아서 공부하고 응용하면 될까요?
답변 1
0
안녕하세요! 왜그럴까님!
일반적으로 이미 만든 코드를 다시 새롭게 뜯어 고치면서 실력이 가장 많이 상승하는 것 같아요!
이러한 자세를 가지고 계신 왜그럴까님은 금방 실력이 오를 것 같네요! ㅎㅎ
유지보수하기 쉬운 코드로 변경하는 작업을 리팩토링 이라고 합니다!
수업 중간중간에 여러 다양한 리팩토링 스킬들을 배우실 수 있지만, 현재 위 코드를 리팩토링 하는데에 있어서는 단순한 스킬보다는 알고리즘적인 사고력이 필요할 것 같아요!
따라서, 틈틈히 알고리즘을 추가로 공부해 주시면 좋을 것 같습니다!^^
위 코드를 간단히 만들기 위해 여러가지 방법이 있겠지만,
한 가지 팁을 드리자면 아래와 같은 고민을 한 번 해보시기 바랍니다!
const 점수표 = {
10: "A",
9: "A",
8: "B",
7: "C",
6: "D",
};
console.log(점수표[9]) // A
console.log(점수표[7]) // C
위 힌트를 사용하시면 더욱 간단히 코드를 만드실 수 있을거예요!
선생님~ 감사합니다!! 알려주신 팁으로 다시 고민해 볼게요~