• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

코드리뷰 두번째

19.04.11 09:55 작성 조회수 120

1

안녕하세요. 추가 조언 달아주셔서 감사합니다. 사실 알고리즘도 잘 모르는 입문자 수준이라 말씀해주신 조언이 처음에는 조금 이해하기 어려웠습니다.

우선 알고리즘의 효율성이라는 것 부터 잘 몰라 검색을 해보았습니다.

알고리즘 효율성: 알고리즘의 수행 시간 또는 알고리즘이 수행하는 동안 사용되는 메모리 공간의 크기로 나타낼 수 있다. 이것은 시간 복잡도(time complexity), 공간복잡도(space complexity)라고 한다.

개선방법: 1. 이중루프 제거 2. function을 쪼개어 한가지 일 씩만 하도록 코딩한다.

이렇게 개선하여 다시 코딩을 해 보았습니다.

조언 주신대로 알고리즘 효율성 측면에서 개선이 되었는지 간단하게 코드리뷰 부탁드립니다.

git: https://github.com/jayxwoo/js-playground/blob/master/exc4b.html

답변 1

답변을 작성해보세요.

0

와~ 정말 수고하셨어요. 전보다 코드가 더 좋아졌네요. 입문자라고 하셨는데 코드가 정말 좋아요.
효율성 = CPU 연산을 얼마나 적게 수행하나입니다.
이 강의 마치고 나서 권오흠 교수님의 알고리즘 강의나 나동빈님의 초보용 알고리즘 강의를 들으셔도 좋을 듯 해요.
참고로 소수 찾기는 root(n) 까지만 탐색을 하면 됩니다. 그리고 코드도

for (var i = 2; i * i <= n ; i++) {
//code here

이렇게 짜시면 조금 더 성능이 좋은 코드가 된답니다.
열심히 들어주셔서 감사하고 화이팅입니다!