[TIL] JavaScript 기초 제어문 (2) -반복문

송현우·2022년 8월 24일

오늘의 공부

반복문

  • 반복문은 같거나 비슷한 일을 여러 번 반복시켜야 할 때 사용한다.
  • 형식은 for문과 while문이 있다. for문은 반복할 조건을 중괄호에 초기화, 조건식, 증감문 순으로 넣고 중괄호에 반복할 내용을 담는다.
  • while문은 반복할 조건 중 조건식만 괄호에 넣고 초기화나 증감문은 따로 작성한다.
//for문
let sum = 0;

for(let i = 1; i < 5; i++) { // i를 1으로 초기화; i는 5 미만까지; i를 1씩 더함
  sum = sum + i;
}
console.log(sum) // 10
//while문
let sum = 0;
let i = 1; // i를 1로 초기화; 꼭 초기화 하지 않아도 됨.

while(i < 5) { // i는 5 미만까지
  sum = sum + i;
  i = i + 1; // i를 1씩 더함
}
console.log(sum) // 10

Math.sqrt()

//while문
Math.sqrt(x)
// x에 루트를 씌워 제곱근을 반환한다.
console.log(Math.sqrt(9)); // 3
console.log(Math.sqrt(21)); // 4.5825...84
console.log(Math.sqrt(0));  // 0
console.log(Math.sqrt(-1)); // NaN

마무리

오늘은 지난 3일간 배운 변수, 타입, 함수, 조건문, 문자열, 메소드, 프로퍼티를 모두 반복하는 경험이 됐다. 페어 분이 진행하면서 문제를 파악하는 능력이 뛰어나셔서 막힘이 좀 덜했다. 아마도 기존처럼 혼자서 했다면 아마 깊게 집중하지 못하고 답을 찾아봤을 것 같다. 특히, 어려움을 느꼈던 부분이 소수(Prime number) 판별하는 것이다.

기존에 작성했던 코드는 반복문 조건을 2로 초기화하고 받은 인자 미만까지 1씩 더하며 판별했다.

// num의 수가 소수인지 판별
for(let n = 2; n < num; n++) {
  if(num % n === 0) {
    return false
  }
} return true

그러나 소수는 2를 제외한 짝수는 될 수 없기 때문에 다음과 같이 작성할 수 있다.

// num의 수가 소수인지 판별
if (num === 2) {
  return true
}

for(let n = 3; n < num; n += 2) {
  if(num % n === 0) {
    return false
  }
} return true

// 2는 시작부터 트루를 반환하고, 그 이후부터는 n을 2씩 증가시켜서 홀수만 대입한다.

0개의 댓글