-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from mju-likelion/step3
step3
- Loading branch information
Showing
4 changed files
with
74 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
node_modules | ||
node_modules | ||
.history |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
## 학습 목표 | ||
|
||
- 함수 활용에 대해 학습한다. | ||
- 모듈에 대해 학습한다. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
// 사칙연산 함수를 만드세요 | ||
/* | ||
필요 함수 | ||
- calc | ||
- 사칙연산을 받으면 필요한 함수를 호출합니다. | ||
- add, minus, multiply, divide | ||
- 두 수를 받아 결과를 반환합니다. | ||
*/ | ||
|
||
/** | ||
* @Test 이하 테스트 코드가 전부 true를 반환해야합니다. | ||
*/ | ||
console.log(calc(100, 50, '+') === 150); | ||
console.log(calc(100, 123, '-') === -23); | ||
console.log(calc(12, 10, '*') === 120); | ||
console.log(calc(100, 5, '/') === 20); | ||
console.log(calc(1, 0, '/') === Infinity); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
// 스택을 컨트롤하는 함수를 만드세요. | ||
/* | ||
필요 함수 | ||
- stackExecuter (옵션 파라미터를 받아 push, pop, shift, print 동작을 하는 함수를 호출합니다.) | ||
- push, pop, shift, print | ||
- stack이 비어있을 때 pop 실행시 '값이 비어있습니다'를 출력하세요 | ||
- print는 반드시 배열 형태로 출력하세요 ([5], [1,2,3], [{name: hanjo}, {name: gildong},...]) | ||
option 파라미터 | ||
- 스택을 컨트롤하기 위한 옵션들이 객체 형태로 되어있습니다. | ||
- method: 스택을 컨트롤하기 위한 명령어로 구성됩니다. 필수값입니다. | ||
- push, pop, shift, print 명령어가 있습니다. | ||
- value: 스택에 값을 넣을 때 필요한 값입니다. 데이터형식에는 제한이 없습니다. | ||
- printCondition: print 명령어 실행 시 print 방법을 '함수'로 받습니다. | ||
- all(stack): stack에 있는 값을 전부 출력합니다. | ||
- condition(stack, filter): stack에 있는 값 중 조건에 일치하는 값만 출력합니다. filter 파라미터는 함수입니다. | ||
- index(stack, index): stack[index]의 값을 반환합니다. | ||
- bottom(stack): stack의 bottom을 출력합니다. | ||
- top(stack): stack의 top을 출력합니다. | ||
*/ | ||
|
||
const stackExecuter = (option) => { | ||
const stack = []; | ||
|
||
// option에서 push, pop, shift, print 등 동작을 읽고 알맞은 함수를 실행해 stack에 값을 넣으세요. | ||
}; | ||
|
||
/** @Test 다음 조건들을 해석해 함수를 실행하세요 */ | ||
/* | ||
- push 1 // [1] | ||
- push 2 // [1,2] | ||
- push 3 // [1,2,3] | ||
- pop // [1,2] | ||
- print index 1 // 2 | ||
- print index 0 // 1 | ||
- print index 2 // error | ||
- pop // [1] | ||
- pop // [] | ||
- pop // error | ||
- push -2 // [-2] | ||
- push 2 // [-2, 2] | ||
- push 5 // [-2, 2, 5] | ||
- push 10 // [-2, 2, 5, 10] | ||
- push 999 // [-2, 2, 5, 10, 999] | ||
- shift // [2, 5, 10, 999] | ||
- print top // 999 | ||
- print bottom // 2 | ||
- print all // [2, 5, 10, 999] | ||
- print condition 짝수만 출력 // [2, 10] | ||
- print condition 10 이상 값만 출력 // [10, 999] | ||
*/ |