일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Hackerrank
- join
- 코딩공부
- 블록체인
- MySQL
- 프로그래머스
- 코드스테이츠
- 자바스크립트
- Algorithms
- 배열
- Programmers
- array
- JavaScript
- array.slice()
- 정규표현식
- 역행자
- 재귀함수
- for문
- node.js
- 개발자_조이킴
- 코딩테스트
- select
- Developer_JoyKim
- 개발자의 책장
- 알고리즘
- Where
- array.push()
- SQL
- 최강의 인생
- 코플릿
- Today
- Total
목록재귀함수 (12)
CodingSpace
Problem. unpackGiftbox Description. 선물 상자에 대한 정보를 담은 배열과 문자열을 입력받아 조건에 맞는 선물이 있는지 여부를 리턴하는 함수를 작성하시오. ※ 반복문(for, while)을 사용하지마시오. 입력: 인자1: giftBox 문자열, 배열을 요소로 갖는 재귀적으로 정의된 배열 인자2: wish string 타입의 문자열 출력: boolean 타입을 반환 My Answer. function unpackGiftbox(giftBox, wish) { // giftBox 배열의 길이가 0이거나 wish가 빈문자열이라면 false 반환 if(giftBox.length === 0 || wish === '') return false for(let i = 0; i < giftBox...
Problem. reverseArr Description. 배열을 입력받아 순서가 뒤집힌 배열을 리턴하는 함수를 작성하시오. ※ 반복문(for, while)을 사용하지마시오. 입력: 인자1: arr 임의의 요소를 갖는 배열 출력: 배열을 반환 My Answer. function reverseArr(arr) { if(arr.length === 0) return [] let tail = arr[arr.length-1]; let head = arr.slice(0, arr.length-1); return [tail, ...reverseArr(head)] } Comments. 코드스테이츠 저작권으로 문제가 된다면 본 게시물 비공개로 처리하겠습니다! SEB IM 34기 수료생
Problem. findMatryoshka Description. 러시아 전통인형 마트료시카에 대한 정보를 담은 객체와 수를 입력받아 조건에 맞는 인형이 있는지 여부를 리턴하는 함수를 작성하시오. ※ 반복문(for, while)을 사용하지마시오. 입력: 인자1: matryoshka 'matryoshka', 'size' 속성을 갖는 재귀적으로 정의된 객체 matryoshka.matryoshka는 null 또는 matryoshka 객체 matryoshka.size는 중첩될수록 작아짐 인자2: size number 타입의 수 출력: boolean 타입(true or false)을 반환 My Answer. function findMatryoshka(matryoshka, size) { // 객체 matryoshk..
Problem. or Description. 배열을 입력받아 모든 요소의 논리합(or)을 리턴하는 함수를 작성하시오. ※ 반복문(for, while)을 사용하지마시오. 입력: 인자1: arr boolean 타입을 구성 요소로 갖는 배열 출력: boolean 타입(true or false)을 반환 My Answer. function or(arr) { if(arr.length === 0) return false let head = arr[0]; let tail = arr.slice(1); return head || or(tail) } Comments. 코드스테이츠 저작권으로 문제가 된다면 본 게시물 비공개로 처리하겠습니다! SEB IM 34기 수료생
Problem. and Description. 배열을 입력받아 모든 요소의 논리곱(and)을 리턴하는 함수를 작성하시오. ※ 반복문(for, while)을 사용하지마시오. 입력: 인자1: arr boolean 타입을 구성 요소로 갖는 배열 출력: boolean 타입(true or false)을 반환 My Answer. function and(arr) { if(arr.length === 0) return true let head = arr[0]; let tail = arr.slice(1); return head && and(tail) } Comments. 코드스테이츠 저작권으로 문제가 된다면 본 게시물 비공개로 처리하겠습니다! SEB IM 34기 수료생
Problem. take Description. 수(num)와 배열을 입력받아 차례대로 num개의 요소만 포함된 새로운 배열을 리턴하는 함수를 작성하시오. ※ 반복문(for, while)을 사용하지마시오. 입력: 인자1: num number 타입의 정수 (num ≥ 0) 인자2: arr 임의의 요소를 갖는 배열 출력: number 타입을 반환 My Answer. function take(num, arr) { if(num === 0 || arr.length === 0) return [] let head = arr[0]; let tail = arr.slice(1); return [head, ...take(num - 1, tail)] } Comments. 코드스테이츠 저작권으로 문제가 된다면 본 게시물 비공개..
Problem. drop Description. 수(num)와 배열을 입력받아 차례대로 num개의 요소가 제거된 새로운 배열을 리턴하는 함수를 작성하시오. ※ 반복문(for, while)을 사용하지마시오. 입력: 인자1: num number 타입의 정수 (num ≥ 0) 인자2: arr 임의의 요소를 갖는 배열 출력: number 타입을 반환 My Answer. function drop(num, arr) { // num이 arr의 길이보다 크거나 같은경우는 빈배열을 반환 if(arr.length
Problem. arrProduct Description. 배열을 입력받아 모든 요소의 곱을 리턴하는 함수를 작성하시오. ※ 빈 배열의 곱은 1 입니다. 입력: 인자1: arr number 타입을 요소로 갖는 배열 출력: number 타입을 반환 My Answer. function arrProduct(arr) { // 빈 배열인 경우 1를 반환 if(arr.length === 0) return 1 // ex) arr = [1, 2, 3] // 3 * arrProduct([1, 2]) // 3 * 2 * arrProduct([1]) // 3 * 2 * 1 * arrProduct([]) // 3 * 2 * 1 * 1 (최종반환) return arr[arr.length - 1] * arrProduct(arr...