[Coplit] 20190820

Let's TECH🧐·2019년 10월 6일
0

오늘 리뷰해볼 문제는 코플릿 알고리즘의 마지막 문제이다.
고난이도의 문제는 아니지만 많은 고민 끝에 풀어낸 문제이기 때문에 다시 리뷰해보려고 한다.

문제

이 문제는 두 정수가 주어졌을 때, 첫번째 숫자부터 두번째 숫자 전까지의 모든 수를 곱한 값을 반환해야하는 문제이다.

해결 방법

평소 코플릿에서 반복문을 사용해 풀던 문제들과 비슷한 패턴이었기 때문에, 이 문제를 풀 때도 반복문을 사용하였다.
나는 반복문에 관한 문제를 풀 때 for문의 curly bracket 안에 넣어줘야하는 코드를 자주 헷갈려한다.

예를 들어, for문을 이용해 1부터 10까지의 숫자를 곱한다고 하면 curly bracket 안에 어떤 코드를 작성해야할지 헷갈려서 많이 헤맸었다.

let result = 1;

for (i = 2; i < 11; i++) {
  // 1 * 2 = 2
  // 2 * 3 = 6
  // 6 * 4 = 24
  // 24 * 5 = 120
  // 120 * 6 = 720
  .
  .
  .
  .
  // 362880 * 10 = 3628800
  
  result = result * i // 이 부분에 해당함
} 

for문 안에는 result = result * i 가 들어가야하는데 처음에는 이 부분이 감이 오지 않아서, 익숙해질 때까지는 위에 나온 것처럼 계산식을 하나하나 쓴 후에 계산식을 토대로 코드를 작성해주는 것을 반복하였다.

이렇게 계속해서 반복문에 대한 코드를 익히고 나니까 반복문에 관한 문제를 푸는 게 한결 편안해지는 것을 느낄 수 있었다.

코플릿 알고리즘의 마지막 문제 또한 곱셈을 이용한 반복문을 통해 해결할 수 있었다.

만약 특정 정수로 3과 7이 주어진다면 아래처럼 코드를 작성하여 문제를 풀 수 있다.

let result = 1;

for (let i = 3; i< 7; i++) {
    result = i * result;
  }
  
console.log(result);

느낀 점

나는 아직 하나하나 배워가는 입장이다 보니 정말 사소한 테크닉이더라도 내가 그것을 별 어려움없이 사용할 때 큰 보람을 느낀다!

처음에는 반복문을 쓰는 게 익숙하지 않고 어렵기도 했지만, 코플릿 문제를 통해 계속해서 연습하다 보니 이제는 정말 많이 익숙해졌다. 이렇게 익숙해지는 코드들이 하나씩 늘어갈 때마다 느끼는 것은 역시 반복적인 연습과 스스로 직접 해보는 것이 정말 중요하다는 것이다.

앞으로 새로 배워나갈 내용이 정말 많은데 뭔가를 배울 때마다 충분히 내 손에 익을 때까지 연습해보는 것을 게을리하지 않아야겠다.

profile
Minju's Tech Blog

0개의 댓글