javascript

알고리즘

fibonacci

🌴 문제 아래와 같이 정의된 피보나치 수열 중 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); // -->..

알고리즘

largestProductOfThree

🌴 문제 정수를 요소로 갖는 배열을 입력받아 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(..

알고리즘

compressString

🌴 문제 문자열을 입력받아 연속되는 문자가 있을 경우, 연속 구간을 반복되는 수와 문자로 조합한 형태로 압축한 문자열을 리턴해야 합니다. 🌴 출력 string 타입을 리턴해야 합니다. 🌴 주의 사항 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 3개 이상 연속되는 문자만 압축합니다. 🌴 입출력 예시 let output = compressString('abc'); console.log(output); // --> abc output = compressString('wwwggoppopppp'); console.log(output); // --> 3wggoppo4p 🌴 문제 풀이 function compressString(str) { // 문자열에서 반복되는 문자가 3개 이상일 경우 (반복된 수 ..

알고리즘

decryptCaesarCipher

문제 암호화된 문자열과 암호화 키를 입력받아 복호화된 문자열을 리턴해야 합니다. 카이사르 암호(Caesar cipher)는 평문(plaintext)을 암호키 secret개만큼 (오른쪽으로) 평행이동시켜 암호화 합니다. 복호화는 암호화된 문자열을 원래의 평문으로 복원하는 것을 말합니다. 출력 string 타입을 리턴해야 합니다. 주의 사항 빈 문자열을 입력받은 경우, 빈 문자열을 리턴해야 합니다. 공백은 그대로 두어야 합니다. 입출력 예시 let output = decryptCaesarCipher('khoor', 3); console.log(output); // --> hello output = decryptCaesarCipher('zruog', 3); console.log(o..

알고리즘

numberSearch

🌴 문제 문자열을 입력받아 문자열에서 숫자를 모두 찾아 더한 뒤에 해당 값을 (숫자와 공백을 제외한 나머지) 문자열의 길이로 나눈 값을 정수로 반올림하여 리턴해야 합니다. 🌴 주의 사항 문자열을 입력받은 경우, 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..

Node.js

HTTP 모듈

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..

알고리즘

isIsogram

🌴 문제 문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다. 🌴 출력 문자열을 입력받아 아이소그램인지 여부를 리턴해야 합니다. 아이소그램(isogram)은 각 알파벳을 한번씩만 이용해서 만든 단어나 문구를 말합니다. 🌴 주의 사항 빈 문자열을 입력받은 경우, true를 리턴해야 합니다. 대소문자는 구별하지 않습니다. 🌴 입출력 예시 let output = isIsogram('aba'); console.log(output); // false output = isIsogram('Dermatoglyphics'); console.log(output); // true output = isIsogram('moOse'); ..

알고리즘

modulo

🌴 문제 두 수(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..

알고리즘

superIncreasing

🌴 문제 수를 요소로 갖는 배열을 입력받아 각 요소들이 그 이전의 요소들의 합보다 큰지 여부를 리턴해야 합니다. 🌴 출력 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..

알고리즘

readVertically

🌴 문제 문자열을 요소로 갖는 배열을 입력받아 문자열을 세로로 읽었을 때의 문자열을 리턴해야 합니다. 🌴 출력 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..

후끈후끈
'javascript' 태그의 글 목록 (3 Page)