반복해서 돌아가는 코드는 나를 불안하게 해요
조건문 > https://github.com/chochojj/code_log/tree/master/02_if%EB%AC%B8
반복문 > https://github.com/chochojj/code_log/tree/master/03_for%EB%AC%B8
조건문은 if문의 (괄호)안의 조건이 참이면 이 후 {}안의 코드를 실행하는 것
사실 조건문은 어렵지 않았다
되는 조건 안되는 조건 찾아내서 코드짜는게 퍼즐같기도 하고 재.밌.어.
반복문은 for문 안의 (초기식,조건식,증감식)조건에 맞춰 이 후{}안의 코드를 반복하는 것
하 지 만 조건문을 희희낙락 풀고 반복문으로 넘어가는데
이중반복문에서 소수 구하기 들어가니까 진짜 뭐라는지 멘붕
괜히 제곱근 함수 사용해서 풀어서 문제도 확 와닿지가 않더라
나중에 정리하면서 다시 풀때는 제곱근 안쓰고 풀어봐야겠다
2 이상의 자연수를 입력받아 2부터 해당 수까지의 소수(prime number)들을 리턴
그러니까 10을 입력받으면 10이하의 소수를 찾아내서 출력하는 코드를 짜면 되는 것
function listPrimes(num) {
let sum = '2';
let check = 0;
for(let i = 3; i <= num; i += 2){ //3부터 num까지 홀수만
for(let j = 3; j <= Math.sqrt(i); j +=2 ){
if(i%j === 0){
check = 1;
break;
}
}
if(check === 0 ){
sum = sum + `-${i}`;
}
check = 0;
}
return sum;
}
밖에 있는 for문이랑 안에서 도는 for문의 역할을 아직 제대로 인지도 못해서
주석도 못단 나의 모습...😥
Math.sqrt()때문에 더 헷갈린다
아마 i 수랑 j 수랑 하나씩 순차적으로 비교해서
나누어 떨어지는지 확인하는지에 대한 코드같음
위에 레퍼런스 코드에서 let sum = '2'; 처럼 문자에서 요구하는 결과값의 타입에 따라
초기설정을 다르게 해줘야 한다는 것을 실습하면서 확실하게 알게 되었음
string타입은 초기값을 비워둘 때 let res = ' ';
number타입은 let res = 0 ;
이번 주말은 이중 for문으로 불태우겠어... 포기모태...