티스토리 뷰

728x90
반응형

이번 주는 마지막 챕터 함수에 대해 공부를 진행하였다.

 

 

 

과제 35. 함수를 이용해서 두 수중 작은 수를 찾는 자바스크립트

작은 숫자 함수 결과

 

작은 숫자를 두 개를 받아 그중에서 작은 숫자를 구하는 스크립트를 구하는 문제였다.

 

작은 숫자 구하는 스크립트

 

여기서 return이라는 값을 통해 함수를 실행하여 조건이 맞으면 각자에 맞는 return값을 받는 것이다.

 

<html>
  <head> </head>
  <body>
    <h2>과제35 작은 숫자로 함수 스크립트</h2>
    <script>
      const a = parseInt(prompt("첫 번재 정수를 입력하세요.", 0));
      const b = parseInt(prompt("두 번째 정수를 입력하세요.", 0));
      const r = min(a, b);
      function min(a, b) {
        if (a < b) {
          return a;
        } else {
          return b;
        }
      }
      document.write(`${a}와 ${b}중 작은 숫자는 ${r}이다.`);
    </script>
  </body>
</html>

여기서 마무리 출력은 필자가 입력한 두 숫자 중에 작은 숫자는 결괏값이다 라는 의미로 표현하였다.

모두 값이 잘 들어갔는지 확인을 위해 약간 변형을 하였다.

 

 

과제 37. 재귀 함수 계승 구하기

 

계승 재귀함수 결과

 

처음 재귀 함수라 그런지 어려워서 이번만큼은 답을 보고 이해를 먼저 하게 되었다.

흔히 우리가 1*2*3*...*n을 할 때, 제일 먼저 생각하는 것은 for문이다.

근데 그 for문을 하는 대신에 재귀 함수를 사용하여 반복을 하는 것이다.

 

재귀함수 응용편 계승

 

여기서 예시를 들어 5를 입력하였을 때, fact(a)로 들어간다.

그리고 if문을 만나 return값에서 5 * fact(4);를 실행하는데 여기서 이 값 그대로 a값에 들어가 fact(4)를 실행한다.

그리고 return값에서 5 * 4 * fact(3);을 실행하여 다음과 같이 계속 반복을 한다.

이게 아마 재귀 함수인가 보다.?

 

<html>
  <head> </head>
  <body>
    <h2>과제37 계승을 구하는 재귀함수</h2>
    <script>
      function fact(a) {
        if (a <= 1) {
          return 1;
        }
        return a * fact(a - 1);
      }
      const n = parseInt(prompt("정수", 0));
      let result = fact(n);
      document.write(result);
    </script>
  </body>
</html>

그렇게 나온 코드가 다음과 같다.

 

 

 

생각보다 재귀 함수는 쉬운 문제가 아닌데, 아쉽게도 이 책에서는 여기까지를 마무리로 하고 있다.

과제에 대한 답에 대한 부가적인 설명도 없는 게 조금 아쉬웠다.

 

순서도로 배우는 Java Script
국내도서
저자 : 김종훈
출판 : 다올미디어 2017.01.05
상세보기

처음 코딩 테스트를 할 때 엄청 막막하기만 했었는데

기초를 하고 나니 처음 못 풀었던 코딩 테스트가 몇 가지가 떠오르곤 한다.

앞으로는 자주 업로드는 못하지만,

코딩 테스트로 꾸준한 업로드를 노력하려고 한다.

728x90
반응형
댓글
250x250
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함