목록algorithm (41)
2020.코딩일지
문자열을 입력받아 해당 문자열에 등장하는 두 칸의 공백을 모두 한 칸의 공백으로 바꾼 문자열을 리턴해야 합니다. 입출력예시 더보기 //입출력예시 let output = convertDoubleSpaceToSingle('string with double spaces'); console.log(output); // --> "string with double spaces" 👻하고싶은말있다면 #DDDDDD .... 레퍼런스 이해가안간다ㅏㅏㅏㅏㅏ function convertDoubleSpaceToSingle(str) { let result = ''; let before = ''; for (let i = 0; i < str.length; i++) { // 직전의 문자가 공백이고, 현재의 문자도 공백인 경우 // ..
2차원 배열(배열을 요소로 갖는 배열)을 입력받아 각 배열을 이용해 만든 객체를 리턴해야 합니다. 입출력예시 더보기 //입출력예시 const arr = [ ['make', 'Ford'], ['model', 'Mustang'], ['year', '1964'], ['make', 'Bill'], ]; let output = convertListToObject(arr); console.log(output) // --> { make : 'Ford' model : 'Mustang', year : '1964' } function convertListToObject(arr){ let obj = {}; for(let i=0; i0 && obj[arr[i][0]]===undefined){//배열내용이있고 && obj에 키..
문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자가 대문자인 문자열을 리턴해야 합니다. 입출력예시 더보기 //입출력예시 let output1 = letterCapitalize('hello world'); console.log(output1); // "Hello World" let output2 = letterCapitalize('javascript is sexy '); console.log(output2); // "Javascript Is Sexy " 👻단어로 조각내고 단어조각만큼 for문을 도는데,{ if (공백을 걸러내야해서 단어갯수도 세기.){ 단어에서 [0]첫글자를.toUpperCase() + 앞한자리떼고 붙이기 } } 총단어 모두 붙여서.join() return function lette..
문자열을 입력받아 순서가 뒤집힌 문자열을 리턴해야 합니다. 입출력예시 더보기 //입출력예시 let output = firstReverse('codestates'); console.log(output); // "setatsedoc" output = firstReverse('I love codestates'); console.log(output); // "setatsedoc evol I" 👻 arr.reverse() 원본배열도 변형(순서가뒤집혀서)된다. 👻 split('') 공백까지도 조각내준다. function firstReverse(str) { return str.split('').reverse().join(''); } 만약, 원본배열을 유지하고 싶다면 얕은복사[...arr]하기 See the Pen U..
문자열을 입력받아 문자열을 구성하는 각 단어의 첫 글자로 이루어진 문자열을 리턴해야 합니다. 입출력예시 더보기 //입출력예시 let output = firstCharacter('hello world'); console.log(output); // --> "hw" output = firstCharacter( 'The community at Code States might be the biggest asset' ); console.log(output); // --> "TcaCSmbtba" function firstCharacter(str) { if (str === '') { return ''; } let words = str.split(' '); let result = ''; for (let i = 0; i..
수를 입력받아 2의 거듭제곱인지 여부를 리턴해야 합니다. 입출력예시 더보기 //입출력예시 let output1 = powerOfTwo(16); console.log(output1); // true let output2 = powerOfTwo(22); console.log(output2); // false 👻수포자였는데 수학개념을 익힐 수 있는 기회가 되어 기쁘다. 하하핳 두뇌의 간질간질함이 느껴진다:-0 function powerOfTwo(num) { if (num === 1) { return true; } if (num % 2) { return false; } let powered = 2; while (powered < num) { powered = powered * 2; } return powered..
연이율을 입력받아 원금이 2배 이상이 될 때까지 걸리는 시간(년)을 리턴해야 합니다. 입출력예시 더보기 //입출력예시 let output = computeWhenDouble(7); console.log(output); // --> 11 output = computeWhenDouble(10); console.log(output); // --> 8 function computeWhenDouble(interestRate) { let rate = 1 + interestRate / 100; let principal = 1; //원금 let year = 0; while (principal < 2) { //원금이 2배될때까지 principal = principal * rate; year++; } return year..
배열을 입력받아 차례대로 배열의 첫 요소와 마지막 요소를 키와 값으로 하는 객체를 리턴해야 합니다. 입출력예시 더보기 //입출력예시 let arr = ['Queen', 'Elizabeth', 'Of Hearts', 'Beyonce']; let output = transformFirstAndLast(arr); console.log(output); // --> { Queen : 'Beyonce' } arr = ['Kevin', 'Bacon', 'Love', 'Hart', 'Costner', 'Spacey']; output = transformFirstAndLast(arr); console.log(output); // --> { Kevin : 'Spacey' } let arr = ['Queen', 'Eliza..
💃문제를 해결하는데는 다양한 방법이 있다. 01_[Stack]구현 //내장객체Array.prototype메서드로 되는것을... 구현해보자! class Stack { constructor() { this.storage = {}; //데이터를 저장할 Object 타입의 storage this.top = 0; //포인터일뿐. } size() { //스택에 추가된 데이터의 크기를 리턴 return this.top; } push(element) { //스택에 데이터를 추가할 수 있어야 합니다. this.storage[this.top] = element; this.top += 1; } pop() { //가장 나중에 추가된 데이터를 스택에서 삭제하고 삭제한 데이터를 리턴 if (this.size() {return b..
코드스테이츠 블록체인 부트캠프 6기 💃자료구조란? 여러 데이터들의 묶음을 저장하고, 사용하는 방법을 정의한 것. 다양한 상황에서 데이터를 효율적으로 다룰 수 있는 방법들을 모두 모아모아~ 특정한 상황에 놓인 문제를 해결하는데 특화되어있다! 따라서 많은 자료구조를 알아두면 어떠한 상황이 닥쳤을 때 적합한 자료구조를 빠르고 정확하게 적용하여 문제 해결 가능! data데이터란? 문자,숫자,소리,그림, 영상 등 실생활을 구성하고 있는 모든 값 데이터 그 자체만으로는 정보를 가지기 어렵다( 나이? 누구,동물,식물 어떤 나이인가?) 데이터는 분석하고 정리하여 활용해야만 의미를 가질 수 있다 - 이거슨빅데이터ㅓㅓㅓ🤓아닌가? 필요에 따라 데이터의 특징을 잘 파악(분석)하여 체계적으로 정리하여 저장해두는게 데이터를 활용..