[Algorithm] a010_multiplyBetween.js

|

문제

Write a function called “multiplyBetween”. (“multiplyBetween” 함수를 작성하세요.)

Given 2 integers, “multiplyBetween” returns the product between the two given integers, beginning at num1, and excluding num2. (두 정수가 주어졌을때, “multiplyBetween” 함수는 첫번째 숫자부터 두번째 숫자 전까지 모든 수를 곱한 값을 반환합니다.)

Notes:

  • The product between 1 and 4 is 1 2 3 = 6. (1과 4 사이의 곱은 1 2 3 = 6 입니다.)
  • If num2 is not greater than num1, it should return 0. (만약 두번째 숫자가 첫번째 숫자보다 작다면, 0을 반환해야 합니다.)
let output = multiplyBetween(2, 5);
console.log(output); // --> 24

풀이

function multiplyBetween(num1, num2) {
  // num1이 num2보다 크거나 같으면 0을 리턴해라
  if(num1 >= num2) {
    return 0;

  }
    
  // num1부터 num2 - 1 까지 곱한다. 반복문을 써보자
  let result = 1;

  for(let i = num1; i < num2; i++) {
    result = result * i;
  }
  return result;
}

[Algorithm] a009_computeSquareRoot.js

|

문제

Write a function called “computeSquareRoot”. (“computeSquareRoot” 함수를 작성하세요.)

Given a number, “computeSquareRoot” returns its square root. (숫자가 주어졌을때, “computeSquareRoot” 함수는 해당 수의 제곱근 값을 반환합니다.)

let output = computeSquareRoot(9);
console.log(output); // --> 3

Do not use Math.sqrt(); for this problem. Instead, use this iterative way of solving the problem: (Math.sqrt()를 사용하지 말고, 아래 링크에서 나온 방법을 통해 해결하세요.)

https://wwwproxy.deltacollege.edu/dept/basicmath/documents/BABYLONIAN.doc

풀이

function computeSquareRoot(num) {
  //guess값을 0으로 설정한다.
  let guess = 0
  
  // guess * guess값을 num보다 작으면서 가장큰수를 찾는 방법 while문.  이거 만드는게 핵심이었다!
  while (guess * guess < num) {
    guess++;
  }
  
  // 수학공식을 세번반복한다.
  for(let i=0; i < 3; i++) {
    guess = (guess + (num / guess)) / 2
  }
  
  return guess;

}

[JavaScript] for문과 while문 사용법

|

자바스크립트에는 대표적인 반복문으로 for문과 while문이 있습니다.

이 둘에 대한 기본 문법과 언제 for문을써야하는지 언제 while문을 써야하는지 알아봅시다.

while문

let i = 0;
while (i < 4) {
    console.log(i);
    i++
}
// 0
// 1
// 2
// 3

//이때 i값은 4이다 이유는 마지막에 i++까지 먹히고 i<4에서 통과가 안되기때문에

for문

for문에는 또 세가지 대표적인문법이 있습니다.

  1. 기본 for문

    for (let i=0; i < 4; i++) {
        console.log(i);
    }
    // 0
    // 1
    // 2
    // 3
       
    // 마찬가지로 i값은 4이다.
    
  2. for…of

    배열의 반복

    let iterable = [10, 20, 30];
       
    for (let value of iterable) {
      console.log(value);
    }
    // 10
    // 20
    // 30
    

    String에 대한 반복

    let iterable = "boo";
       
    for (let value of iterable) {
      console.log(value);
    }
    // "b"
    // "o"
    // "o"
    
  3. for…in

    객체의 반복

    let iterable = {
        a: 1,
        b: 2,
        c: 3
    }
       
    for (let key in iterable) {
      console.log(key);
    }
    // a
    // b
    // c
       
    for (let key in iterable) {
      //객체의 value값에 접근할때는 닷노테이션과 브라켓노테이션이있다. 브라켓 노테이션을 쓸때는 따옴표       ('')를 꼭 붙인다.
      console.log(iterable['key']);  
    }
    // 1
    // 2
    // 3### 
    

for문과 while문의 사용법

언제 for문을 쓰고 언제 while문을 써야할까요? while은 조건밖에 없기 때문에 몇번 반복될지 모를때 주로 사용 되고, for문은 반복 횟수를 정할수 있기 때문에 반복횟수를 알때 사용됩니다.

for..of 와 for…in의 사용법

그럼 언제 for..of를 써야하고 언제 for…in을 써야할까요? for…of는 배열과 문자열의 모든 원소값에 접근할때 쓰기 좋고 for..in은 객체의 key와 value값에 접근 할때 쓰기 좋습니다.

[TIL] 19-09-25

|

함수 메소드

객체지향 new와 this

클로저부터 다시 공부하자

공부할내용

클로저

매개변수 다루기

객체지향 프로그래밍

this키워드

[TIL] 19-09-24

|

TIL은 정리되지 않은 문서 입니다.

TIL의 내용을 정리하여 제목을 달아서 포스팅합니다.

TIL은 정리되지 않은 문서 입니다.

TIL의 내용을 정리하여 제목을 달아서 포스팅합니다.

함수선언식

함수표현식