
해쉬 테이블이란? 검색하고자 하는 키 값을 입력받아서 해쉬함수를 돌려 반환받은 해쉬 코드를 배열의 인덱스로 환산하여 데이터로 접근하는 자료구조이다. 여기서 사용하는 키값은 문자열,숫자,파일데이터 등이 될 수있다. 해쉬 함수는 어떤 특정한 규칙을 이용해서 입력받은 키값으로 해쉬코드를 만들어준다. 해쉬코드의 장점 검색속도가 매우 빠른것이다. 왜 빠를까? 해쉬 함수를 이용해서 만든 해쉬코드는 정수다. 따라서 배열 공간을 고정된 크기 만큼 미리 만들놓고, 해쉬 코드를 배열 의 갯수로 나머지 연산을 해서 배열에 나눠 담는다. 해쉬코드 자체가 배열의 인덱스로 사용되기 때문에 검색 자체를 할 필요가 없이 해쉬코드로 바로 데이터에 접근이 가능하다. 효율적인 해쉬 알고리즘? 공간의 효율성을 위해 해쉬 알고리즘을 잘만드는..

더보기 주저리주저리.. 자신있게 뭐야 쉽잖아 이러고 술술 풀다가,, 코드 실행 통과! 아싸! 제출했더니 테스트의 빨간 줄이 마구 쳐졌다. 테스트케이스는 정말 중요하구나 ,,^^ 가장 큰 수 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,0..

K번째수 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하입..

reduce 메서드 배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 초깃값); reduce 인자 누적 값(acc) 현재 값(cur) 현재 인덱스 (curIndex) 원본 배열(arr) 누적값이기 때문에 다양하게 활용할 수 있다. const oneTwoThree = [1, 2, 3]; result = oneTwoThree.reduce((acc, cur, i) => { console.log(acc, cur, i); return acc + cur; }, 0); // 0 1 0 // 1 2 1 // 3 3 2 result; // 6 누적된값 + 현재값을 더하면 된다! acc(누적값)이 초깃값인 0부터 시작해서 return하는대로 누적되는 것을 볼 수 있다. 초깃값을 적어주지..

Detail Digital root is the recursive sum of all the digits in a number. Digital root - Wikipedia The digital root (also repeated digital sum) of a natural number in a given radix is the (single digit) value obtained by an iterative process of summing digits, on each iteration using the result from the previous iteration to compute a digit sum. The pro en.wikipedia.org Given n, take the sum of th..
Detail Complete the method/function so that it converts dash/underscore delimited words into camel casing. The first word within the output should be capitalized only if the original word was capitalized (known as Upper Camel Case, also often referred to as Pascal case). Examples "the-stealth-warrior" gets converted to "theStealthWarrior" "The_Stealth_Warrior" gets converted to "TheStealthWarrio..

Props 1. properties를 줄인 말 2. 컴포넌트간에 전달할 때 3. 컴포넌트의 소통 방식은 위에서 아래로 , 즉 부모 컴포넌트에서 자식 컴포넌트로 보낼 수 있음 4. 부모 컴포넌트에서 자식 컴포넌트에 전달 할 때, 이를 변경 할 수 없다. State 1. 컴포넌트 안에서 데이터를 교환하거나 전달 할 때 사용 2. props와 달리 변경이 가능하다. 3. state이 변화면 re-render 된다. Redux 리덕스가 없을 경우 props 하나하나 거쳐야 한다. state를 상위 컴포넌트에 두는 것이 아닌, redux store에 저장하면 직접 접근이 가능하다. 훨씬 편한 state 관리가 가능! Redux 데이터 Flow (Strict unidirectional data flow) Redux..

서버와 클라이언트를 따로따로 실행해 줘야 했는데 이런 번거로움을 해소 시키기 위해 concurrently라이브러리를 이용해 볼 것이다. 설치 npm install concurrently --save root 디렉토리에 package.json 의 scripts 부분에서 concurrently 다음에 서버 실행 명시 코드와 , 클라이언트 실행 명시 코드를 작성! "dev": "concurrently \"npm run server\" \"npm run start --prefix client\"" 내 package.json scripts 부분! npm run dev 성공!