목록전체 글 (118)
상권's
보호되어 있는 글입니다.

-오늘의 코플릿 2021.11.03- 정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 합니다. 병합 정렬을 구현해야 합니다. arr.sort 사용은 금지됩니다. 입력으로 주어진 배열은 중첩되지 않은 1차원 배열입니다. 병합 정렬은 표준 라이브러리에서 정렬을 구현할 때 퀵 정렬이나 힙 정렬의 대안으로 사용하는 최적화된 정렬 알고리즘입니다. 병합 정렬은 다음과 같은 알고리즘을 사용합니다. N의 길이를 가진 배열 리스트를 1의 길이를 가진 "부분 리스트"가 N개 모인 것으로 취급합니다. 인접한 부분 리스트들을 정렬하여 2의 길이를 가진 부분 리스트로 병합합니다. 2의 길이를 가진 인접한 부분 리스트들을 4의 길이를 가진 부분 리스트로 합칩니다. 하나의 정렬된 리스트가 될 때까지 위 과정을 반..
-오늘의 코플릿 2021.11.02- 문자열을 입력받아 다음의 조건을 만족하는 LPS*를 찾아 그 길이를 리턴해야 합니다. LPS: 주어진 문자열의 가장 긴 접두어이자 접미어(Longest Prefix which is also Suffix)// non-overlapping: 접두어와 접미어는 서로 겹치는 부분이 없어야 합니다. 다시 말해, prefix와 suffix는 문자열의 동일한 인덱스에 위치한 문자를 요소로 가지면 안 됩니다. output = LPS('aaaa'); console.log(output); // --> 2 // prefix: str.slice(0, 2) // suffix: str.slice(2) // non-overlapping 조건이 없는 경우 정답은 4 입니다. output = LP..

clearTimeout() The global clearTimeout() method cancels a timeout previously established by calling setTimeout(). setTimeout을 통해서 일정 시간 뒤에 불러지는 함수나 코드를 그 시간이 도달하기 전에 삭제할 수 있는 기능입니다. Syntax clearTimeout(timeoutID) Parameters timeoutID The identifier of the timeout you want to cancel. This ID was returned by the corresponding call to setTimeout(). => 리액트 복습을 하면서 상세페이지에 갔을 때, 제고가 몇 개 이하이면 2초동안 매진 임..
Array.prototype.find() find() 메서드는 주어진 판별 함수를 만족하는 첫 번째 요소의 값을 반환합니다. 그런 요소가 없다면 undefined를 반환합니다. 찾은 요소의 값 대신 인덱스를 반환하는 findIndex() 메서드도 살펴보세요. 배열 요소의 위치를 찾고자 하는 경우에는 Array.prototype.indexOf()를 사용하세요. 배열 요소가 해당 배열에 존재하는지 확인하고자 하는 경우에는 Array.prototype.indexOf() 또는 Array.prototype.includes()를 사용세요. 구문 arr.find(callback[, thisArg]) 매개변수 callback배열의 각 값에 대해 실행할 함수. 아래의 세 인자를 받습니다. 사용 방법은 아래의 코드에서 확..
클로저 출처 MDN 클로저는 함수와 함수가 선언된 어휘적 환경의 조합이다. 클로저를 이해하려면 자바스크립트가 어떻게 변수의 유효범위를 지정하는지(Lexical scoping)를 먼저 이해해야 한다. 어휘적 범위 지정(Lexical scoping) 여기서 "lexical"이란, 어휘적 범위 지정(lexical scoping) 과정에서 변수가 어디에서 사용 가능한지 알기 위해 그 변수가 소스코드 내 어디에서 선언되었는지 고려한다는 것을 의미한다. 단어 "lexical"은 이런 사실을 나타낸다. 중첩된 함수는 외부 범위(scope)에서 선언한 변수에도 접근할 수 있다. 클로저는 자바스크립트의 강력한 기능 중 하나입니다. 자바스크립트는 함수의 중첩(함수 안에 함수를 정의하는것)을 허용하고, 내부함수가 외부 함수..
이번 한 주는 node server 구현에 이어서 노드js 미들웨어를 활용해서 statesAirline으로 비행기 조회, 예약, 변경, css 개발론, styled-component에 대해서 학습했습니다. 서버 개발은 흥미가 있어서 너무 즐겁게 학습을 했지만, css 관련 학습은 개인적으로 너무 힘들었습니다. 백엔드를 희망하고 있지만, css에 대해서도 학습을 해본만큼 어느정도 구현할 수 있도록 시간을 투자해서 학습을 해야겠다고 느꼈습니다. 그리고 토이 문제는 대게 수도 코드 작성이나 구현이 잘 되었습니다. 자바스크립 자료 구조와 알고리즘이라는 도서를 이용해서 알고리즘에 대해서 학습도 하고, 스터디를 통해서 토이나 자료구조에서 복습하니 큰 도움이 되었습니다. 토이 문제는 40분 정도 혼자 고민을 하고 이..

2021.10.29 오늘의 코플릿 문자열을 입력받아 문자열 내의 모든 괄호의 짝이 맞는지 여부를 리턴해야 합니다. 다음 단계에 맞춰 함수를 작성해 보세요 괄호의 종류를 단 한가지로 한정합니다. 괄호의 종류를 늘려 모든 종류의 괄호에도 작동하도록 합니다. 괄호를 제외한 문자열이 포함된 경우에도 작동하도록 합니다. // str.split('') 해서 배열로 만들어준다. // 앞에서 하나씩 빼면서 (, ) 가 맞다면 각각 다른 배열에 넣어준다. // 두 배열의 길이가 맞다면 true를 리턴한다. => )( 이렇게 입력되는 경우에도 true가 뜬다... // 절반으로 나눠서 진행하는 건 어렵다... => stack 처럼 진행을 한다. 첫 수도코드 => 처음에는 괄호들이 (, ) 이렇게 들어오든, ), ( 이렇게..