Skip to content

Commit

Permalink
Merge pull request #3 from mju-likelion/step3
Browse files Browse the repository at this point in the history
step3
  • Loading branch information
Bhanjo authored May 17, 2023
2 parents eb5c22b + 225acc7 commit d4c967b
Show file tree
Hide file tree
Showing 4 changed files with 74 additions and 1 deletion.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
node_modules
node_modules
.history
4 changes: 4 additions & 0 deletions js-beginner/step3/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
## 학습 목표

- 함수 활용에 대해 학습한다.
- 모듈에 대해 학습한다.
17 changes: 17 additions & 0 deletions js-beginner/step3/problem/problem1.js
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);
51 changes: 51 additions & 0 deletions js-beginner/step3/problem/problem2.js
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]
*/

0 comments on commit d4c967b

Please sign in to comment.