코딩 공부/코드스테이츠 TIL

Code States 3일차

fullfish 2021. 10. 11. 10:26

오늘의 키포인트

반복문

나의 이해

for문과 while문 두가지를 사용하여 반복되는 상황을 간단히 표현

 

문법 및 중요

for문
for(초기값 ; 조건 ; 증감){

}

 

while문
while(조건){

}

 

일반적으로 for문은 반복횟수를 알때 while은 모를때

for문은 변수를 초기화 시키므로 이미 변수가 초기화됐다면 while을 쓰는게 직관적

무한루프식은 while(true)로 쉽게 가능

새로운 안것

`` 백틱은 줄바꿈에서도 사용가능

 

3항연산자 : 조건 ? 참일 경우 실행 : 거짓일 경우 실행
ex) c = a > b ? 1 : 0;      a가 크면 c에 1 아니면 0

 

두 수의 대소가 출력에 영향을 끼칠때
나는 각각 if로 케이스를 나눴는데

만약 num1이 크다면 그대로 두고 num2가 크다면 두 수의 위치를 바꾸는 방법도 있음

 

소수를 구할때  제곱근을 사용해야 한다고 해서

나는

function isPrime(num) {

  // TODO: 여기에 코드를 작성합니다.

  // 소수일 경우 num 제곱의 약수는 1, num, num의제곱  이거 3개뿐

  // 소수가 아니면  많음

  // 소수의 경우는 약수중 1 num 제곱을  약수가 num 같음

  let result = 0;

  let pownum = num * num;

  for(let i =2 ; i < pownum ; i++){

    if(pownum % i ===0 ){

      result = result + i

    }

  }

  if(result===num){

    return true;

  }

  else{

    return false;

  }

}

이렇게 썼으며 레퍼런스 코드는

function isPrime(num) { 

  let sqrt = parseInt(Math.sqrt(num));  

  if (num === 1) {   

     return false;

  }  

  if (num === 2) {

     return true;

  }  

 if (num % 2 === 0) {

    return false;

  }

 for (let i = 3; i <= sqrt; i += 2) {

    if (num % i === 0) {

      return false; 

   }

 }

 return true;

}

이것이다

레퍼런스에서는 1과 2의 경우를 우선 뺴두고

짝수는 소수 아니라고 한 다음에 홀수를 비교했다

그런데 제곱근을 사용한게 와 닿지 않는다 좀더 봐야겠다

 

사용할 수 있는 함수들은 잘 써먹자   함수안쓰면 너무 복잡해진다.

'코딩 공부 > 코드스테이츠 TIL' 카테고리의 다른 글

Code State 5일차  (0) 2021.10.14
Code States 4일차  (0) 2021.10.12
Code States 2일차  (0) 2021.10.07
Code States 1일차  (0) 2021.10.07
Code States 0일차  (0) 2021.10.05