프론트엔드
-
Section4 Daily Coding 09_LCS공부/데일리코딩 2022. 8. 2. 09:11
문제 두 문자열을 입력받아 다음의 조건을 만족하는 LCS*의 길이를 리턴해야 합니다. LCS: 두 문자열에 공통으로 존재하는 연속되지 않는 부분 문자열(Longest Common Subsequence) 문자열 'abc'의 subseqeunce는 'a', 'b', 'c', 'ab', 'ac', 'bc', 'abc' 입니다. 입력 인자 1 : str1 string 타입의 알파벳 소문자와 숫자로 이루어진 문자열 str1.length는 50 이하 인자 2 : str2 string 타입의 알파벳 소문자와 숫자로 이루어진 문자열 str2.length는 50 이하 출력 number 타입을 리턴해야 합니다. 주의사항 LCS의 길이를 리턴해야 합니다. LCS가 존재하지 않는 경우, 0을 리턴해야 합니다. 입출력 예시 l..
-
Section4 Daily Coding 08_LIS공부/데일리코딩 2022. 8. 1. 09:07
문제 정수를 요소로 갖는 문자열을 입력받아 다음의 조건을 만족하는 LIS*의 길이를 리턴해야 합니다. LIS: 배열의 연속되지 않는 부분 배열 중 모든 요소가 엄격하게 오름차순으로 정렬된 가장 긴 부분 배열(Longest Increasing Subsequence) 배열 [1, 2, 3]의 subseqeunce는 [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3] 입니다. 엄격한 오름차순: 배열이 동일한 값을 가진 요소없이 오름차순으로 정렬되어 있는 경우를 말합니다. 입력 인자 1 : arr number 타입을 요소로 갖는 배열 arr.length는 60,000 이하 arr[i]는 100,000 이하의 양의 정수 출력 number 타입을 리턴해야 합니다. 주의사항 LIS..
-
Section4 Daily Coding 06_heapSort공부/데일리코딩 2022. 7. 28. 09:12
문제 정수를 요소로 갖는 배열을 입력받아 오름차순으로 정렬하여 리턴해야 합니다. 입력 인자 1 : arr number 타입을 요소로 갖는 배열 arr[i]는 -100,000 이상 100,000 이하의 정수 arr.length는 100,000 이하 출력 number 타입을 요소로 갖는 배열을 리턴해야 합니다. 주의사항 힙 정렬을 구현해야 합니다. arr.sort 사용은 금지됩니다. 입력으로 주어진 배열은 중첩되지 않은 1차원 배열입니다. 최소 힙(min heap)을 구현해야 합니다. 최소 힙 구현을 위해 선언된 함수들(getParentIdx, insert, removeRoot)을 전부 완성해야 합니다. swap, getParentIdx, insert, removeRoot를 전부 사용해야 합니다. swap,..
-
Section4 Daily Coding 05_binaryHeap공부/데일리코딩 2022. 7. 27. 09:08
문제 정수를 요소로 갖는 배열을 입력받아 이진 힙(binary heap)*을 리턴해야 합니다. 이진 힙(binary heap)은 노드의 값이 특정한 순서를 가지고 있는 완전 이진 트리(Complete Binary Tree)입니다. 완전 이진 트리는 이진 트리의 (마지막 레벨 또는 마지막 깊이를 제외하고) 모든 레벨이 노드로 가득 채워져 있어야 합니다. 마지막 레벨은 왼쪽부터 차례대로 채워져 있습니다. 이진 힙에서 부모 노드의 값이 (이진 트리이므로 2개의) 자식 노드의 값보다 큰 경우를 최대 힙(max heap), 반대의 경우를 최소 힙(min heap)이라고 합니다. 입력 인자 1 : arr number 타입을 요소로 갖는 배열 arr[i]는 -100,000 이상 100,000 이하의 정수 arr.le..
-
Section4 Daily Coding 03_LSCS공부/데일리코딩 2022. 7. 25. 08:59
문제 정수를 요소로 갖는 배열을 입력받아 다음의 조건을 만족하는 LSCS*를 리턴해야 합니다. LSCS: 주어진 배열의 연속된 부분 배열*의 합을 구한다고 할 때, 이 중 가장 큰 값(Largest Sum of Contiguous Subarray) 연속된 부분 배열들: 배열 [1,2,3]의 연속 부분 배열은 [1], [1, 2], [1, 2, 3], [2], [2, 3], [3] 입니다. 입력 인자 1 : arr number 타입을 요소로 갖는 배열 arr.length는 60,000 이하 arr[i]는 -100,000 이상 100,000 이하의 정수 출력 number 타입을 리턴해야 합니다. 주의사항 배열의 모든 요소가 음수인 경우도 있습니다. 입출력 예시 let output = LSCS([1, 2, 3..
-
Section3 Daily Coding 14_binarySearch공부/데일리코딩 2022. 7. 12. 09:34
문제 오름차순 정렬된 정수의 배열(arr)과 정수(target)를 입력받아 target의 인덱스를 리턴해야 합니다. 입력 인자 1 : arr number 타입을 요소로 갖는 배열 arr[i]는 정수 인자 2 : target number 타입의 정수 출력 number 타입을 리턴해야 합니다. 주의사항 이진탐색 알고리즘(O(logN))을 사용해야 합니다. 단순한 배열 순회(O(N))로는 통과할 수 없는 테스트 케이스가 존재합니다. target이 없는 경우, -1을 리턴해야 합니다. 입출력 예시 let output = binarySearch([0, 1, 2, 3, 4, 5, 6], 2); console.log(output); // --> 2 output = binarySearch([4, 5, 6, 9], 10..