티스토리 뷰
이번 주는 마지막 챕터 함수에 대해 공부를 진행하였다.
과제 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>
그렇게 나온 코드가 다음과 같다.
생각보다 재귀 함수는 쉬운 문제가 아닌데, 아쉽게도 이 책에서는 여기까지를 마무리로 하고 있다.
과제에 대한 답에 대한 부가적인 설명도 없는 게 조금 아쉬웠다.
|
처음 코딩 테스트를 할 때 엄청 막막하기만 했었는데
기초를 하고 나니 처음 못 풀었던 코딩 테스트가 몇 가지가 떠오르곤 한다.
앞으로는 자주 업로드는 못하지만,
코딩 테스트로 꾸준한 업로드를 노력하려고 한다.
'Front-End > Javascript' 카테고리의 다른 글
parseInt (0) | 2021.02.27 |
---|---|
programmers : 코딩 테스트 연습 > 정렬 > K번째수 (0) | 2021.01.09 |
순서도로 배우는 자바스크립트 5 (0) | 2020.12.13 |
순서도로 배우는 자바스크립트 4 (0) | 2020.12.12 |
순서도로 배우는 자바스크립트 3 (0) | 2020.12.11 |
- Total
- Today
- Yesterday
- 파이썬
- javascript
- github
- 리액트 썸네일
- node.js
- 프로그래머스
- Visual Studio Code
- programmers
- node
- 자바스크립트
- 리액트
- redux
- 재공부
- 배열
- Switch
- array
- 함수
- 리덕스
- node-sass
- Coding Test
- Git
- 리액트 유튜브
- CSS
- 코딩테스트
- 노드
- mongodb
- react
- java
- 뷰
- 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |