웹개발/코딩 테스트 문제 & 풀이 9

[코딩문제] Create a function that let's a user know (true/false) whether these two arrays contain any common items

문제. 두 arrays에서 공통되는 아이템이 있다면 true, 없다면 false를 도출하는 function 만들기 const array1 = ['a', 'b', 'c', 'd']; const array2 = ['d', 'f', 'b']; // 이 경우 'b'가 공통되기 때문에 true가 나와야 함. 1. for loop을 두개나 써서 결과가 도출되기 까지 시간이 소요되는 답안 (바람직x) function containsCommonItem(arr1, arr2) { for (let i = 0; i < arr1.length; i++) { for (let j = 0; j < arr2.length; j++) { if (arr1[i] === arr2[j]) { return true; } } } return fals..

[코딩 테스트 문제 + 풀이] Flags, Greatest Common Divisor Algorithm, Caterpillar method, Greedy Algorithms

Q. Flags function solution(A) { let peaks = new Array(A.length); let nextPeak = A.length; peaks[A.length - 1] = nextPeak; for (let i = A.length -2; i > 0; i--) { if(A[i - 1]< A[i] && A[i + 1] < A[i]) nextPeak = i; peaks[i] = nextPeak; } peaks[0] = nextPeak; let current_guess = 0; let next_guess = 0; while (canPlaceFlags(peaks, next_guess)) { current_guess = next_guess; next_guess += 1; } return ..

[코딩 테스트 문제 + 풀이] Maximum Array, Sorting Algorithms, Prefix Sums

Q. Maximum Sub Array problem (Maximum seperate problem) function solution(A) { let globalMaxSum = 0; let localMaxSum =0; for (let i = 1; i < A.length; i++) { let d = A[i] - A[i - 1]; localMaxSum = Math.max(d, localMaxSum + d); globalMaxSum = Math.max(localMaxSum, globalMaxSum); } return globalMaxSum; } console.log(solution([1, 10, 7, 2, 5, -5, 3])); // 9 Q. Disc Intersection Code function soluti..

[코딩 테스트 문제 + 풀이] Stacks and Queues, Leader

Stacks and Queues Q. Brackets "[({})]" stack.push("[") stack.push("(") stack.push("{") stack.pop() == "{" ? stack.pop() == "(" ? stack.pop() == "[" ? stack.empty? function solution(S) { let stack = []; for (const c of S) { if (c === '{' || c === '[' || c === '(') { stack.push(c); } else if (c === '}') { if (stack.length === 0 || stack.pop() !== '{') return 0; } else if (c === ']') { if (stack.le..

[코딩 테스트 문제 + 풀이] Time Complexity

Q. Return the smallest positive interger (greater than 0) that does not occur in A. e.g. A = [1, 3, 6, 4, 1, 2] // SHOULD return 5 Given A = [1, 2, 3] // SHOULD return 4 Given A = [-1, -2] // SHOULD return 1 function solution(A) { for (i=1; i actualSum += number); let maxNumber = A.length + 1; let expectedSum = (maxNumber * (maxNumber + 1) /2); return expectedSum - actualSum; } Q. Equilibrium (평..