inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

▶ 조건문

JSEXP 문의드립니다.

해결된 질문

293

빙봉빙봉

작성한 질문수 2

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문을 중첩으로 사용하는 것 외의

다른 방법으로 코드를 최적화할 수 있는 방법이 궁금합니다. 커리큘럼 중 어느 부분을 찾아서 공부하고 응용하면 될까요?

react node.js seo graphql next.js

답변 1

0

노원두

안녕하세요! 왜그럴까님!
일반적으로 이미 만든 코드를 다시 새롭게 뜯어 고치면서 실력이 가장 많이 상승하는 것 같아요!
이러한 자세를 가지고 계신 왜그럴까님은 금방 실력이 오를 것 같네요! ㅎㅎ

유지보수하기 쉬운 코드로 변경하는 작업을 리팩토링 이라고 합니다!
수업 중간중간에 여러 다양한 리팩토링 스킬들을 배우실 수 있지만, 현재 위 코드를 리팩토링 하는데에 있어서는 단순한 스킬보다는 알고리즘적인 사고력이 필요할 것 같아요!

따라서, 틈틈히 알고리즘을 추가로 공부해 주시면 좋을 것 같습니다!^^

위 코드를 간단히 만들기 위해 여러가지 방법이 있겠지만,
한 가지 팁을 드리자면 아래와 같은 고민을 한 번 해보시기 바랍니다!

const 점수표 = {
  10: "A",
  9: "A",
  8: "B",
  7: "C",
  6: "D",
};

console.log(점수표[9]) // A
console.log(점수표[7]) // C

위 힌트를 사용하시면 더욱 간단히 코드를 만드실 수 있을거예요!

 

1

빙봉빙봉

선생님~ 감사합니다!! 알려주신 팁으로 다시 고민해 볼게요~

fetchBoardsOfMine, fetchBoardsCountOfMine 에러 문의드립니다

0

40

1

댓글 기능 구현 중 질문드립니다.

0

67

1

쿠폰코드 발급

0

140

2

example 서버 플레이그라운드, API 접속 모두 안됩니다.

0

87

2

문의드립니다!! ㅠㅠ

0

104

2

graphql 백엔드 서버가 포폴용 빼곤 접속이 안됩니다.

0

78

2

_app.js 작성 이후로 에러가 발생하네요

0

95

2

학습자료

0

71

2

학습자료가 안열립니다.

0

51

2

플레이 그라운드 퀴즈 문제 질문이 있습니다.

0

61

0

기존강의 구매자, 업데이트 끝인가요?

0

111

3

업데이트 버전 수강

0

89

2

완벽한 프론트엔드

0

136

2

나만의 쇼핑몰 샘플 페이지 접속 확인부탁드립니다.

0

84

1

graphql 접속이 안됩니다.

0

101

2

const, let 사용 질문 드립니다.

0

71

2

싸이월드 만들기 1탄 피드백 부탁드립니다.

0

122

2

회원가입 과제 피드백 부탁드립니다.

0

81

2

styled.span / styled.input "CSS 자동완성"

0

47

1

쿠폰 발급 관련

0

167

2

서버 502 error

0

247

2

쿠폰 다시 부탁드려도 될가여?

0

140

2

a태그 패딩했을때 왜 크기가 줄어들지 않고 늘어나나요

0

185

2

2분 44초 질문

0

132

3