Skip to content

Commit

Permalink
#30 2 > 24.05.20 > [재귀함수] 값을 반환하는 재귀함수 - 4문제
Browse files Browse the repository at this point in the history
  • Loading branch information
beurmuz committed May 20, 2024
1 parent 8842607 commit 2f4f46f
Show file tree
Hide file tree
Showing 2 changed files with 109 additions and 6 deletions.
13 changes: 7 additions & 6 deletions src/tree/Lv_2/README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
# N_MID

| 학습일 | 목차 | 주제 | 제목 및 정답여부 |
| :---------: | :--- | :----------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 24.05.15 | 함수 | [값을 반환하지 않는 함수](./함수/값을%20반환하지%20않는%20함수.js) | 별 찍는 것을 5번 반복하기 (O)<br>반복 출력하기 (O)<br>함수를 이용해서 직사각형 만들기 (O)<br>숫자로 이루어진 사각형 (O)<br>최대공약수 구하기 (△)⭐️<br>최소공배수 구하기 (△)⭐️ |
| 24.05.15-18 | 함수 | [값을 반환하는 함수](./함수/값을%20반환하는%20함수.js) | 1부터 특정 수까지의 합 (O)<br>정수의 최솟값 (O)<br>짝수이면서 합이 5의 배수인 수 (O)<br>함수를 이용한 369 게임 (O)<br>함수를 이용한 소수 판별 (O)<br>함수를 이용한 윤년 판별 (O)<br>두 수의 거듭제곱 (O)<br>사칙연산 함수 (O)<br>함수를 이용한 온전수 판별 (O)<br>함수를 이용한 합과 소수 판별 (O)<br>함수를 이용한 연속부분수열 여부 판단하기 (O)<br>2021 날짜의 유무 (O)<br>그 계절, 그 날 (O)⭐️ |
| 24.05.18-19 | 함수 | [Call by value/Call by reference](./함수/Call%20by%20something.js) | 두 정수 값 교환하기 (O)<br>짝수만 2로 나누기 (O)<br>palindrome 여부 판단하기 (O)<br>두 정수에 대한 연산값 (O)<br>절댓값으로 변경 (O)<br>2개 이상의 알파벳 (O)<br>두 정수에 대한 연산값2 (O) |
| 24.05.20 | 함수 | [변수의 영역](./함수/변수의%20영역.js) | 함수를 이용한 부분 문자열의 위치 구하기 (O)<br>나누고 빼면서 합하기 (O)<br>특정 구간의 합 (O) |
| 학습일 | 목차 | 주제 | 제목 및 정답여부 |
| :---------: | :------- | :----------------------------------------------------------------------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 24.05.15 | 함수 | [값을 반환하지 않는 함수](./함수/값을%20반환하지%20않는%20함수.js) | 별 찍는 것을 5번 반복하기 (O)<br>반복 출력하기 (O)<br>함수를 이용해서 직사각형 만들기 (O)<br>숫자로 이루어진 사각형 (O)<br>최대공약수 구하기 (△)⭐️<br>최소공배수 구하기 (△)⭐️ |
| 24.05.15-18 | 함수 | [값을 반환하는 함수](./함수/값을%20반환하는%20함수.js) | 1부터 특정 수까지의 합 (O)<br>정수의 최솟값 (O)<br>짝수이면서 합이 5의 배수인 수 (O)<br>함수를 이용한 369 게임 (O)<br>함수를 이용한 소수 판별 (O)<br>함수를 이용한 윤년 판별 (O)<br>두 수의 거듭제곱 (O)<br>사칙연산 함수 (O)<br>함수를 이용한 온전수 판별 (O)<br>함수를 이용한 합과 소수 판별 (O)<br>함수를 이용한 연속부분수열 여부 판단하기 (O)<br>2021 날짜의 유무 (O)<br>그 계절, 그 날 (O)⭐️ |
| 24.05.18-19 | 함수 | [Call by value/Call by reference](./함수/Call%20by%20something.js) | 두 정수 값 교환하기 (O)<br>짝수만 2로 나누기 (O)<br>palindrome 여부 판단하기 (O)<br>두 정수에 대한 연산값 (O)<br>절댓값으로 변경 (O)<br>2개 이상의 알파벳 (O)<br>두 정수에 대한 연산값2 (O) |
| 24.05.20 | 함수 | [변수의 영역](./함수/변수의%20영역.js) | 함수를 이용한 부분 문자열의 위치 구하기 (O)<br>나누고 빼면서 합하기 (O)<br>특정 구간의 합 (O) |
| 24.05.20 | 재귀함수 | [값을 반환하지 않는 재귀함수](./재귀함수/값을%20반환하지%20않는%20재귀함수.js) | 반복 출력하기2 (O)<br>숫자 차례로 출력하기 (O)<br>재귀함수의 꽃 (O)<br>재귀함수를 이용한 별 출력 (O) |
102 changes: 102 additions & 0 deletions src/tree/Lv_2/재귀함수/값을 반환하지 않는 재귀함수.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
// ----------------------------------------------------------------------
/**
* 🔍 반복 출력하기2 | O | 24.05.20 🔍
*
* [함수]
*/
const N = Number(require("fs").readFileSync("/dev/stdin").toString().trim());

function recursive(n) {
if (n === 0) return;
recursive(n - 1); // 재호출
console.log("HelloWorld");
}

recursive(N);

// ----------------------------------------------------------------------
/**
* 🔍 숫자 차례로 출력하기 | O | 24.05.20 🔍
*
* [함수]
*/
const N = Number(require("fs").readFileSync("/dev/stdin").toString().trim());

function asc(n) {
if (n === 0) return;
asc(n - 1);
process.stdout.write(n + " ");
}

function desc(n) {
if (n === 0) return;
process.stdout.write(n + " ");
desc(n - 1);
}

asc(N);
console.log();
desc(N);

// ----------------------------------------------------------------------
/**
* 🔍 재귀함수를 이용한 별 출력 | O | 24.05.20 🔍
*
* [함수]
*/
const N = Number(require("fs").readFileSync("/dev/stdin").toString().trim());

function recursive(n) {
if (n === 0) return;
recursive(n - 1);
for (let i = 0; i < n; i++) {
process.stdout.write("*");
}
console.log();
}

recursive(N);

// ----------------------------------------------------------------------
/**
* 🔍 재귀함수의 꽃 | O | 24.05.20 🔍
*
* [함수]
*/
const N = Number(require("fs").readFileSync("/dev/stdin").toString().trim());

let answer = "";
function flower(n) {
if (n === 0) return;
answer += n + " ";
flower(n - 1);
answer += n + " ";
}

flower(N);
console.log(answer);

// ----------------------------------------------------------------------
/**
* 🔍 재귀함수를 이용한 별 출력 | O | 24.05.20 🔍
*
* [함수]
*/
const N = Number(require("fs").readFileSync("/dev/stdin").toString().trim());

function makeStart(n) {
if (n === 0) return;

let line = "";
for (let i = 0; i < n; i++) {
line += "*" + " ";
}
console.log(line);
makeStart(n - 1);
line = "";
for (let i = 0; i < n; i++) {
line += "*" + " ";
}
console.log(line);
}
makeStart(N);

0 comments on commit 2f4f46f

Please sign in to comment.