🌴 문제 아래와 같이 정의된 피보나치 수열 중 n번째 항의 수를 리턴해야 합니다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1입니다. 그 다음 2번째 피보나치 수부터는 바로 직전의 두 피보나치 수의 합으로 정의합니다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ... 🌴 출력 number 타입을 리턴해야합니다. 🌴 주의사항 재귀함수를 이용해 구현해야 합니다. 반복문(for, while) 사용은 금지됩니다. 함수 fibonacci가 반드시 재귀함수일 필요는 없습니다. 🌴 입출력 예시 let output = fibonacci(0); console.log(output); // --> 0 output = fibonacci(1); console.log(output); // -->..
🌴 문제 정수를 요소로 갖는 배열을 입력받아 3개의 요소를 곱해 나올 수 있는 최대값을 리턴해야 합니다. 🌴 출력 number 타입을 리턴해야 합니다. 🌴 주의사항 입력으로 주어진 배열은 중첩되지 않은 1차원 배열입니다. 배열의 요소는 음수와 0을 포함하는 정수입니다. 배열의 길이는 3 이상입니다. 🌴 입출력 예시 let output = largestProductOfThree([2, 1, 3, 7]); console.log(output); // --> 42 (= 2 * 3 * 7) output = largestProductOfThree([-1, 2, -5, 7]); console.log(output); // --> 35 (= -1 * -5 * 7) output = largestProductOfThree(..
🌴 문제 문자열을 입력받아 연속되는 문자가 있을 경우, 연속 구간을 반복되는 수와 문자로 조합한 형태로 압축한 문자열을 리턴해야 합니다. 🌴 출력 string 타입을 리턴해야 합니다. 🌴 주의 사항 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 3개 이상 연속되는 문자만 압축합니다. 🌴 입출력 예시 let output = compressString('abc'); console.log(output); // --> abc output = compressString('wwwggoppopppp'); console.log(output); // --> 3wggoppo4p 🌴 문제 풀이 function compressString(str) { // 문자열에서 반복되는 문자가 3개 이상일 경우 (반복된 수 ..
🌴 문제 문자열을 입력받아 문자열에서 숫자를 모두 찾아 더한 뒤에 해당 값을 (숫자와 공백을 제외한 나머지) 문자열의 길이로 나눈 값을 정수로 반올림하여 리턴해야 합니다. 🌴 주의 사항 문자열을 입력받은 경우, 0을 리턴해야 합니다. (digit)는 연속해서 등장하지 않습니다. 🌴 입출력 예시 let output = numberSearch('Hello6 '); console.log(output); // --> 1 output = numberSearch('Hello6 9World 2,'); console.log(output); // --> 2 output = numberSearch('Hello6 9World 2, Nic8e D7ay!'); console.log(o..
HTTP는 자바스크립트에서 HTTP 서버 빛 클라이언트 응용 프로그램을 만드는 데 사용할 수 있는 Node.js모듈이다. HTTP 내장 모듈을 사용하면, Node.js가 HTTP를 통해 데이터를 전송할 수 있다. 🔵 createServer()메서드를 사용하여 HTTP 서버를 만든다. const http = require('http'); //create a server object: const server = http.createServer((req, res) => { req.on('data', (chunk)=>{ console.log(chunk) }).on('end', ()=>{ res.writeHead(201, {'Content-Type' : 'text/plain'}) }) res.writeHead(2..
🌴 문제 문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다. 🌴 출력 문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다. 🌴 주의 사항 빈 문자열을 입력받은 경우, true를 리턴해야 합니다. 대소문자는 구별하지 않습니다. 🌴 입출력 예시 let output = isIsogram('aba'); console.log(output); // false output = isIsogram('Dermatoglyphics'); console.log(output); // true output = isIsogram('moOse'); ..
🌴 문제 두 수(num1, num2)를 입력받아, num1를 num2로 나눈 나머지를 리턴해야 합니다. 🌴 출력 number 타입을 리턴해야 합니다. 🌴 주의 사항 나눗셈(/), 나머지(%) 연산자 사용은 금지됩니다. 0은 어떤 수로 나누어도 나머지가 0입니다. 어떤 수도 0으로 나눌 수 없습니다. 이 경우 'Error: cannot divide by zero'를 리턴해야 합니다. 🌴 입출력 예시 let output = modulo(25, 4); console.log(output); // --> 1 🌴 문제 풀이 function modulo(num1, num2) { // TODO: 여기에 코드를 작성합니다. // 나누기는 빼기를 반복 // num1-num2를 반복해서 실행 if(num2 === 0) re..
🌴 문제 수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴해야 합니다. 🌴 출력 boolean 타입을 리턴해야 합니다. arr[i]는 arr[0]부터 arr[i-1]까지의 합보다 커야 합니다. 🌴 입출력 예시 let output = superIncreasing([1, 3, 6, 13, 54]); console.log(output); // --> true output = superIncreasing([1, 3, 5, 9]); console.log(output); // --> false 🌴 문제 풀이 function superIncreasing(arr) { // TODO: 여기에 코드를 작성합니다. // 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴 let..
🌴 문제 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. 🌴 출력 string 타입을 리턴해야 합니다. 🌴 주의사항 각 문자열의 길이는 다양합니다. 각 문자의 위치를 행, 열로 나타낼 경우, 비어있는 (행, 열)은 무시합니다. 🌴 입출력 예시 let input = [ // 'hello', 'wolrd', ]; let output = readVertically(input); console.log(output); // --> 'hweolllrod' input = [ // 'hi', 'wolrd', ]; output = readVertically(input); console.log(output); // --> 'hwiolrd' 🌴 문제 풀이 function read..