작성
·
151
1
안녕하세요. 강의 잘 듣고 있습니다.
정답예시를보니 제 것과 조금 다른데요.
이렇게 코딩을 해도 괜찮은지 개선부분은 없는지 간략하게나마 리뷰부탁 드립니다.
git: https://github.com/jayxwoo/js-playground/blob/master/exc4.html
답변 4
1
안녕하세요. 추가 조언 달아주셔서 감사합니다. 사실 알고리즘도 잘 모르는 입문자 수준이라 말씀해주신 조언이 처음에는 조금 이해하기 어려웠습니다.
우선 알고리즘의 효율성이라는 것 부터 잘 몰라 검색을 해보았습니다.
알고리즘 효율성: 알고리즘의 수행 시간 또는 알고리즘이 수행하는 동안 사용되는 메모리 공간의 크기로 나타낼 수 있다. 이것은 시간 복잡도(time complexity), 공간복잡도(space complexity)라고 한다.
개선방법: 1. 이중루프 제거 2. function을 쪼개어 한가지 일 씩만 하도록 코딩한다.
이렇게 개선하여 다시 코딩을 해 보았습니다.
조언 주신대로 알고리즘 효율성 측면에서 개선이 되었는지 간단하게 코드리뷰 부탁드립니다.
git: https://github.com/jayxwoo/js-playground/blob/master/exc4b.html
0
전에 답변을 달았는데 답변이 사라졌네요.
잘 짜셨는데 조금 더 첨언을 드리자면
소수인지 아닌지 알고 싶을 때는 2 부터 루트 N 까지만 나눠보면 됩니다. (수학적으로 그렇습니다.)
코드는 간결하게 아래처럼 짜면 되구요.
for (var i = 2; i * i <= n ; i++) {
//...
0
0
지금 단계에서는 잘 짜셨습니다. 로직도 창의적이고 재밌는 것 같아요 :D