Number 리터럴 배열이 있고 splitDigit() 같은 함수를 작성해야 합니다. 이 함수는 이 배열을 가져와서 10보다 큰 숫자가 한 자리 숫자로 분할되는 Numbers 배열을 반환합니다. 예를 들어 - //if the input is: const arr = [ 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106 ] //then the output should be: const output = [ 9, 4, 9, 5, 9, 6, 9, 7, 9, 8, 9, 9, 1, 0, 0
중첩된 문자열 배열이 있고 배열과 검색 문자열을 받아들이고 해당 문자열이 중첩 배열에 나타나는 횟수를 반환하는 함수를 작성해야 합니다. 따라서 이에 대한 코드를 작성해 보겠습니다. 여기에서 재귀를 사용하여 중첩 배열 내부를 검색하고 이에 대한 코드는 −가 됩니다. 예시 const arr = [ "apple", ["banana", "strawberry","dsffsd", "apple"],  
n개의 숫자 리터럴을 인수로 사용하는 함수를 작성해야 합니다. 여기서 n은 임의의 정수이고 라이브러리 함수를 사용하지 않고 해당 숫자 중 가장 작은 수를 반환합니다. 우리는 while 루프를 통해 이 문제를 해결할 것이고 이에 대한 코드는 -가 될 것입니다. 예시 const numbers = [12, 5, 7, 43, -32, -323, 5, 6, 7, 767, 23, 7]; const findMin = (...numbers) => { let min = Infinity, len = 0; &
중첩된 배열을 가져와 중첩 없이 배열에 있는 모든 요소가 포함된 배열을 반환하는 JavaScript 배열 함수를 작성해야 합니다. 예를 들어 - //if the input is: const arr = [[1, 2, 3], [4, 5], [6]]; //then the output should be: const output = [1, 2, 3, 4, 5, 6]; 따라서 이 함수의 코드를 작성해 보겠습니다 - 방법 1:재귀 사용 여기에서 원래의 중첩 배열을 반복하고 중첩된 요소 요소를 새 배열로 재귀적으로 푸시합니다. 예시 cons
우리는 함수를 작성해야 합니다. arrayDistance()는 숫자 배열을 받아 원래 배열에서 연속된 두 요소 간의 차이로 요소가 있는 다른 배열을 반환합니다. 예를 들어, 입력 배열이 -인 경우 const arr = [1000,2000,5000,4000,300,0,1250]; 그러면 출력은 -가 됩니다. [(1000-2000),(2000-5000),(5000-4000),(4000-300),(300-0),(0-1250)] 따라서 이 함수의 코드를 작성해 보겠습니다 - 예시 const arr = [1000,2000,5000,40
중복된 항목이 있는 숫자 배열이 있습니다. 우리의 임무는 배열을 가져와서 동일한 모든 항목을 하나의 하위 배열로 그룹화하고 이렇게 형성된 새 배열을 반환하는 함수를 작성하는 것입니다. 예를 들어 - //입력 배열이 다음과 같으면:const arr =[1, 3, 3, 1];//출력은 다음과 같아야 합니다. const output =[[1, 1], [3, 3]]; HashMap을 사용하여 이미 발생한 요소를 추적하고 for 루프를 사용하여 배열을 반복합니다. 이에 대한 코드는 - 예 { const 맵 ={}; const 그룹 =[
다음과 같은 연속적인 중복 항목을 포함하는 숫자 리터럴 배열이 있다고 가정해 보겠습니다. - const testArr = [1, 1, 2, 2, 3, 3, 1, 1, 1]; 우리는 이 배열을 취하고 제자리에서 모든 중복 연속 항목을 제거하는 함수 compress를 작성해야 합니다. 출력이 다음과 같이 보이도록 - const output = [1, 2, 3, 1]; 이 함수에 대한 코드를 작성해 보겠습니다. 이를 위해 재귀를 사용하고 이에 대한 코드는 − 예시 const testArr = [1, 1, 2, 2, 3, 3, 1, 1
문자열/숫자 리터럴의 배열 arr을 첫 번째 인수로, 숫자 n을 두 번째 인수로 취하는 함수 chunk()를 작성해야 합니다. 각각 최대 arr.length / elements를 포함하는 n개의 하위 배열로 구성된 배열을 반환해야 합니다. 그리고 요소의 분포는 다음과 같아야 합니다 - 첫 번째 요소는 첫 번째 하위 배열에, 두 번째는 두 번째, 세 번째는 세 번째 등으로 이동합니다. 각 하위 배열에 하나의 요소가 있으면 첫 번째 하위 배열을 두 번째 요소로 채우는 것으로 다시 시작합니다. 마찬가지로, 모든 하위 배열에 두 개의
숫자 1에서 시작하여 반복적으로 5를 더하거나 3을 곱하면 무한한 양의 새로운 숫자가 생성될 수 있습니다. 숫자가 주어지면 해당 숫자를 생성하는 덧셈과 곱셈의 시퀀스를 찾으려고 시도하는 함수를 작성해야 합니다. 그런 시퀀스가 있는지 여부에 따라 부울 값을 반환합니다. 예를 들어, 숫자 13은 먼저 3을 곱한 다음 5를 두 번 더하여 도달할 수 있으므로 함수는 13에 대해 true를 반환해야 합니다. 반면 숫자 15에는 전혀 도달할 수 없으므로 함수는 15에 대해 false를 반환해야 합니다. 접근 원하는 솔루션으로 이어지는
길이 속성에 액세스하지 않고 내장 루프를 사용하지 않고 배열의 가장 중간 요소를 반환하는 findMiddle과 같은 배열 함수를 작성해야 합니다. 배열에 홀수 개수의 요소가 포함되어 있으면 가장 중간에 있는 요소를 반환합니다. 요소 또는 배열에 짝수개의 요소가 포함된 경우 가장 중간에 있는 두 요소의 배열을 반환합니다. 따라서 이 함수에 대한 코드를 작성해 보겠습니다. 이미 짐작하셨겠지만, 우리는 이러한 요소를 찾기 위해 재귀를 사용할 것입니다. 재귀 함수의 코드는 - 예시 const arr = [1, 2, 3, 4, 5, 6,
Python의 zip 함수와 동일한 JavaScript 함수를 작성해야 합니다. 즉, 동일한 길이의 여러 배열이 주어지면 쌍의 배열을 생성해야 합니다. 예를 들어 다음과 같은 세 개의 배열이 있는 경우 - const array1 = [1, 2, 3]; const array2 = ['a','b','c']; const array3 = [4, 5, 6]; 출력 배열은 -여야 합니다. const output = [[1,'a',4], [2,'b',5], [3,'
다음과 같은 객체 배열이 있다고 가정해 보겠습니다. - const arr = [{ country: "cananda", count: 2 }, { country: "jamaica", count: 2 }, { country: "russia", count: 1 }, {
두 개의 숫자를 받아들이고 최소 공배수를 반환하는 함수를 작성해야 합니다. 최소공배수(LCM) 두 수와 b의 최소 공배수는 와 b로 나눌 수 있는 가장 작은 양의 정수입니다. 예를 들어 − 6과 8의 LCM은 24입니다. 24는 6과 8로 나누어지는 가장 작은 양의 정수이기 때문입니다. LCM 계산 방법 두 숫자 a와 b의 최소공배수를 계산하는 여러 방법 중 하나는 a와 b의 곱을 a와 b를 모두 나누는 최대 정수(최대공약수 또는 GCD라고도 함)로 나누는 것입니다. 6과 8의 경우 곱은 48이고 둘을 나누는 가장 큰 정수는
=b)의 배열을 받아 [a, b] 사이의 모든 숫자의 최소 공배수를 반환하는 함수를 작성해야 합니다. 접근 우리는 먼저 두 숫자의 최소 공배수를 계산하는 기본 함수를 작성할 것입니다. 일단 [a, b] 사이에 있는 숫자에 대해 재귀적으로 호출하고 최종적으로 결과를 반환하면 됩니다. 예시 const lcm = (a, b) => { let min = Math.min(a, b); while(min >= 2){ if(a % min === 0 &
문자열과 문자열의 배열을 받아들이는 함수를 작성해야 합니다. 우리의 임무는 배열에 문자열의 시퀀스 또는 하위 시퀀스가 요소로 포함되어 있는지 여부를 확인하는 것이며, 이 사실을 기반으로 함수가 부울 값을 반환해야 합니다. 예를 들어 - const x = 'ACBC'; const arr = ['cat','AB']; const arr2 = ['cat','234','C']; const arr3 = ['cat','CC']
Number 리터럴의 배열을 하나의 유일한 인수로 취하는 함수를 작성해야 합니다. 짝수 인덱스에 있는 숫자는 그대로 반환해야 합니다. 그러나 홀수 인덱스에 위치한 숫자는 해당 인덱스를 곱하여 반환되어야 합니다. 예를 들어 - 입력이 [5, 10, 15, 20, 25, 30, 50, 100]인 경우 함수는 [5, 10, 15, 60, 25, 150, 50, 700]을 반환해야 합니다. Array.prototype.reduce() 메서드를 사용하여 필요한 배열을 구성하고 함수의 코드는 - 예시 { if( ind % 2 ===1){
어떤 사람들의 나이에 대한 일부 데이터가 포함된 2차원 배열이 있다고 가정해 보겠습니다. 데이터는 다음 2D 배열로 제공됩니다. const data = [ ['Rahul',23], ['Vikky',27], ['Sanjay',29], ['Jay',19], ['Dinesh',21], ['Sandeep',45],
다음과 같은 일부 색상과 과일에 대한 데이터가 포함된 2차원 배열이 있다고 가정해 보겠습니다. 상수 데이터 =[ [오렌지, 과일], [빨강, 색상], [그린, 색상], [오렌지, 색상], [바나나 , 과일], [파란색, 색상], [레몬, 과일], [망고, 과일], [레몬, 색상],]; 우리는 이 배열을 받아 다른 과일과 색상이 범주별로 그룹화된 배열을 반환하는 함수를 작성해야 합니다. 이 예에서와 같이 과일과 색상이라는 두 가지 범주만 있으므로 출력에서 다음과 같은 두 객체의 배열을 예상해야 합니다. - [ { group:f
숫자 배열과 targetsum을 취하는 threeSum()과 같은 함수를 작성해야 합니다. 배열에 목표 합계에 해당하는 세 개의 숫자가 있는지 확인합니다. 배열에 이러한 세 개의 숫자가 있으면 배열에 인덱스를 반환해야 합니다. 그렇지 않으면 -1을 반환해야 합니다. 접근 접근 방식은 간단합니다. 먼저 배열과 목표 합계를 취하고 선형 시간과 공간을 사용하여 목표 합계에 합산되는 두 숫자의 인덱스를 반환하는 함수 twoSum()을 작성하고 그렇지 않으면 -1을 반환합니다. 그런 다음 배열의 각 요소를 반복하는 실제 함수 threeS
우리는 두 개의 Number 배열을 가지고 있고, 그것들의 교집합을 계산하고 임의의 순서로 교차하는 요소를 포함하는 배열을 반환하는intersection()과 같은 함수를 작성해야 합니다. 결과의 각 요소는 두 배열에 표시되는 횟수만큼 표시되어야 합니다. 예를 들어 - 만약, Input: arr1 = [1,2,3,1], arr2 = [1,3,1] Output: [1,3,1] 접근 배열이 정렬되어 있었다면 초기에 각각의 배열의 시작을 0으로 가리키고 두 포인터 접근 방식을 사용할 수 있었고 해당 포인터를 증가시키면서 O(m+n)