Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript

  1. JavaScript로 중첩된 숫자 배열에서 최댓값 찾기

    JavaScript에서 간단한 함수를 작성해야 한다고 가정해 보겠습니다. 이 함수는 숫자로만 이루어진 배열(어떤 깊이로든 중첩될 수 있음)을 인수로 받아, 그 안에 존재하는 가장 큰 숫자를 반환해야 합니다. 문제 정의 예를 들어, 입력 배열이 다음과 같다면 − const arr = [ 34, 65, 67, [ 43, 76, 87, 23, 56, 7, [ 54, 7, 87, 23, 79, 994, 2 ], 54 ], 54, 4, 2 ]

  2. JavaScript 배열에서 중복 값 제거 후 빈 문자열로 채우기

    배열을 입력받아 모든 중복 값을 제거하고, 제거된 개수만큼 빈 문자열()을 배열 끝에 추가하는 함수를 작성해 보겠습니다. 예를 들어 어떤 값이 여러 번 반복되어 있다면, 첫 번째 등장만 남기고 나머지 중복은 모두 제거한 뒤 그만큼의 빈 문자열을 배열 맨 뒤에 채워 넣으면 됩니다. 접근 방법 이 문제는 Array.prototype.reduce() 메서드를 활용하면 배열을 한 번만 순회하면서 해결할 수 있습니다. 핵심 아이디어는 다음과 같습니다. 각 요소에 대해 lastIndexOf()를 사용해 해당 값이 마지막으로 등장하는 위치

  3. JavaScript 배열에서 각 요소와 이전 요소의 평균값 계산하기

    숫자로 이루어진 배열이 주어졌을 때, 각 요소와 바로 앞의 요소(선행 요소)의 평균값을 담은 새로운 배열을 반환하는 함수를 작성해야 합니다.첫 번째 요소는 이전에 비교할 요소가 존재하지 않기 때문에, 해당 요소 자신이 그대로 결과에 포함됩니다.이러한 문제는 Array.prototype.map() 메서드를 활용하면 매우 간결하게 해결할 수 있습니다. map()은 원본 배열을 변경하지 않으면서 각 요소를 변환한 새로운 배열을 만들어 주기 때문에, 이런 유형의 변환 작업에 적합합니다.구현 예제해당 기능을 구현한 코드는 다음과 같습니다.

  4. JavaScript 다차원 배열에서 각 행의 최대값 추출하기

    다음과 같이 숫자로 구성된 배열의 배열(2차원 배열)이 있다고 가정해 보겠습니다.const arr = [     [1, 16, 34, 48],     [6, 66, 2, 98],     [43, 8, 65, 43],     [32, 98, 76, 83],     [65, 89, 32, 4], ];우리가 작성해야 할 함수는 이 배열을 순회하면서 각 하위 배열

  5. JavaScript 다차원 배열에서 가장 큰 요소 찾기

    이 글에서는 임의의 깊이까지 중첩된 숫자 배열을 입력받아, 배열 안에서 가장 큰 숫자를 반환하는 JavaScript 함수를 작성해 보겠습니다. 문제 예시 입력 배열이 다음과 같다고 가정해 봅시다. const arr = [ 34, 65, 67, [ 43, 76, 87, 23, 56, 7, [ 54, 7, 87, 23, 79, 994, 2 ], 54 ], 54, 4, 2 ]; 이 배열에서 가장 큰 숫자는 994이므로, 함수는 다음과 같은

  6. JavaScript로 두 문자열 배열의 교집합(공통 요소) 구하기

    두 개의 문자열 배열이 주어졌을 때, 두 배열의 교집합(intersection)을 계산하여 공통 요소들을 배열 형태로 반환하는 함수를 작성해야 합니다. 이때 결과 배열에 포함되는 각 요소는 양쪽 배열에서 나타난 횟수만큼 중복되어 표현되어야 합니다.예시입력이 다음과 같다면 −arr1 = [hello, world, how, are, you]; arr2 = [hey, world, can, you, rotate];출력은 다음과 같아야 합니다 −[world, you];접근 방법만약 두 배열이 이미 정렬되어 있다면, 각각

  7. JavaScript에서 배열을 n개의 청크로 분할하는 방법

    문제 정의문자열 또는 숫자 리터럴로 구성된 배열 arr을 첫 번째 인자로, 숫자 n을 두 번째 인자로 받는 함수 chunk()를 작성해 보겠습니다.이 함수는 n개의 하위 배열을 담은 배열을 반환해야 하며, 각 하위 배열에는 최대 arr.length / n개의 요소가 포함됩니다.요소 분배 규칙요소는 다음과 같은 방식으로 분배됩니다.첫 번째 요소는 첫 번째 하위 배열에, 두 번째 요소는 두 번째 하위 배열에, 이런 식으로 순서대로 배치됩니다.모든 하위 배열에 요소가 하나씩 채워지면, 다시 첫 번째 하위 배열부터 두 번째 요소를 채우기

  8. JavaScript 배열에서 중복 요소를 합산해 고유 값별 합계 구하기

    문제 개요중복된 값이 포함된 숫자 배열이 주어졌을 때, 동일한 값을 가진 요소들을 하나의 인덱스로 병합하여 합계를 계산하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 입력 배열이 다음과 같다고 가정해 봅시다.const input = [1, 3, 1, 3, 5, 7, 5, 4];출력결과는 다음과 같아야 합니다.const output = [2, 6, 10, 7, 4];중복된 1은 인덱스 0에 합산됩니다 (1 + 1 = 2)중복된 3은 인덱스 1에 합산됩니다 (3 + 3 = 6)중복된 5는 합산되고(5 + 5 = 10), 한

  9. JavaScript 배열의 중간 요소 찾기 – length 속성 없이 재귀로 구현하기

    이번 글에서는 배열의 length 속성에 접근하지 않고, 내장 반복문(for, while 등)도 사용하지 않고 배열의 가장 중간에 있는 요소를 반환하는 함수 midElement()를 작성해 보겠습니다.요구 사항은 다음과 같습니다.배열의 요소 개수가 홀수라면, 정확히 가운데 있는 요소 하나를 반환합니다.배열의 요소 개수가 짝수라면, 가운데 두 개의 요소를 담은 배열을 반환합니다.핵심 아이디어는 인덱스를 하나씩 증가시키며 자기 자신을 호출하는 재귀(recursion)를 활용해 배열의 끝, 즉 유효하지 않은 인덱스에 도달할 때까지 탐색하

  10. JavaScript 배열에서 특정 숫자 기준 위·아래 요소 개수 구하기

    다음과 같은 숫자 배열이 있다고 가정해 보겠습니다.const array = [54, 54, 65, 73, 43, 78, 54, 54, 76, 3, 23, 78];문제 정의배열에서 주어진 숫자를 기준으로, 그보다 작은 요소가 몇 개이고 크거나 같은 요소가 몇 개인지 세는 함수를 작성해야 합니다.예를 들어 기준 숫자가 60이라면 결과는 다음과 같습니다.60보다 작은 요소: 54, 54, 43, 54, 54, 3, 23 → 총 7개60 이상인 요소: 65, 73, 78, 76, 78 → 총 5개reduce()를 활용한 해결 방법배열의 r

  11. JavaScript로 두 배열의 편차(차집합) 요소 구하는 방법

    문제 소개다음과 같이 두 개의 숫자 배열이 있다고 가정해 보겠습니다.const arr1 = [12, 54, 2, 4, 6, 34, 3];const arr2 = [54, 2, 5, 12, 4, 1, 3, 34];여기서 우리가 작성해야 할 함수는 두 배열을 인자로 받아, 양쪽 배열에 공통으로 존재하지 않는 요소들, 즉 한쪽 배열에만 있는 값들을 모아서 반환하는 것입니다. 이를 흔히 편차 또는 대칭 차집합이라고 부릅니다.해결 로직구현 아이디어는 매우 단순합니다.첫 번째 배열을 순회하면서, 해당 요소가 두 번째 배열에 없다면 결과 배열에

  12. JavaScript에서 2차원 불리언 배열을 AND 연산으로 병합하는 방법

    JavaScript 개발을 하다 보면 여러 개의 불리언(Boolean) 배열을 하나의 배열로 합쳐야 하는 경우가 종종 있습니다. 예를 들어 다음과 같은 2차원 불리언 배열이 있다고 가정해 보겠습니다.const arr = [[true,false,false],[false,false,false],[false,false,true]];여기서 우리가 작성해야 할 함수는 각 하위 배열의 대응되는 위치에 있는 요소들을 AND(&&) 연산자로 결합하여, 하나의 1차원 배열로 병합하는 것입니다.접근 방식이 문제는 Array.protot

  13. JavaScript로 n 이하의 모든 소수 구하기 – 기본 구현부터 에라토스테네스의 체까지

    문제 개요 JavaScript에서 하나의 숫자 n을 입력받아, 2부터 n까지의 모든 소수(Prime Number)를 배열 형태로 반환하는 함수를 작성해야 합니다. 예를 들어, 입력값이 n = 24라면 출력 결과는 다음과 같습니다. const output = [2, 3, 5, 7, 11, 13, 17, 19, 23]; 소수 판별의 기본 원리 소수란 1과 자기 자신 외에는 약수를 가지지 않는 1보다 큰 자연수입니다. 어떤 수가 소수인지 판별하려면 2부터 해당 숫자의 절반(또는 제곱근)까지의 값으로 차례대로 나누어 보고, 한 번이라도 나

  14. JavaScript에서 문자열의 영숫자만 유지하고 특수 문자를 ASCII 코드로 변환하는 방법

    문자열에 특수 문자가 포함되어 있을 때, 이를 적절히 처리하는 자바스크립트 함수를 작성해야 하는 경우가 종종 있습니다.여기서 요구되는 함수는 문자열을 입력받아 알파벳, 숫자, 공백은 그대로 유지하되, 나머지 특수 문자들을 해당하는 ASCII 코드 값으로 변환한 새로운 문자열을 반환하는 것입니다.예제이 기능을 구현한 코드는 다음과 같습니다.const str = 'Th!s !s @ str!ng th@t cont@!ns some special characters!!';const specialToASCII = str =>

  15. JavaScript로 숫자의 각 자릿수 곱 구하기

    이번 글에서는 하나의 숫자를 입력받아 그 숫자를 이루는 모든 자릿수의 곱을 계산하는 JavaScript 함수를 만들어 보겠습니다.여기서 중요한 규칙은 하나 있습니다. 숫자에 0이 포함되어 있다면, 해당 자릿수는 곱셈 시 1로 취급해야 한다는 점입니다.문제 이해하기예를 들어 입력값이 다음과 같다고 가정해 봅시다.5720이 숫자의 자릿수는 5, 7, 2, 0 입니다. 마지막 자릿수인 0은 규칙에 따라 1로 대체되어 곱해지므로, 계산 결과는 다음과 같습니다.5 × 7 × 2 × 1 = 70따라서 기대하는 출력값은 70입니다.재귀 함수로

  16. JavaScript로 문자열의 각 단어에서 마지막 모음 제거하기

    이번 글에서는 문자열을 입력받아 각 단어의 마지막 모음을 제거한 새로운 문자열을 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 다음과 같은 문자열이 있다고 가정해 봅시다.const str = This is an example string;그렇다면 기대되는 출력 결과는 다음과 같습니다.const output = Ths s n exampl strng;접근 방법각 단어에서 마지막으로 등장하는 모음(a, e, i, o, u)의 위치를 찾은 뒤, 해당 위치의 문자만 잘라내면 됩니다. 이를 위해 lastIndexOf() 메서

  17. JavaScript로 문자열 배열의 점진적 형성 여부 확인하는 방법

    이번 글에서는 길이가 오름차순으로 정렬된 문자열 배열을 입력받아, 인접한 두 문자열 쌍마다 뒤의 문자열이 앞의 문자열에 글자 하나를 맨 앞이나 맨 뒤에 추가하여 만들어질 수 있는지 판별하는 JavaScript 함수를 작성해 보겠습니다.문제 이해하기함수는 다음 조건을 만족할 때 true를 반환해야 합니다.배열 내 모든 인접한 문자열 쌍에 대해 검사를 진행합니다.두 번째 문자열은 반드시 첫 번째 문자열보다 길이가 1만큼 길어야 합니다.두 번째 문자열은 첫 번째 문자열의 앞 또는 뒤에 알파벳 한 글자를 덧붙인 형태여야 합니다.예를 들어

  18. JavaScript로 문자열의 중복 문자 개수 구하기

    이번 글에서는 문자열을 입력받아 해당 문자열에 포함된 중복(redundant) 문자의 개수를 반환하는 JavaScript 함수를 작성해 보겠습니다. 여기서 중복 문자란 같은 문자가 두 번 이상 나타날 때, 첫 번째 등장을 제외한 나머지 발생 횟수를 의미합니다.문제 이해하기예를 들어 다음과 같은 문자열이 있다고 가정해 봅시다.const str = abcde;이 문자열의 모든 문자는 한 번씩만 등장하므로, 결과는 0이 되어야 합니다.반면 아래와 같은 문자열이라면 어떨까요?const str = aaacbfsc;여기서 a는 3번, c는 2

  19. JavaScript로 숫자의 자릿수를 오름차순으로 정렬하는 방법

    이번 글에서는 숫자 배열을 입력받아 각 숫자의 자릿수(digit)를 특정 순서, 여기서는 오름차순으로 재배열하는 JavaScript 함수를 작성해 보겠습니다.문제 이해하기예를 들어 다음과 같은 배열이 있다고 가정해 보겠습니다.const arr = [543, 65, 343, 75, 567, 878, 87];각 숫자의 자릿수를 오름차순으로 정렬하면 출력 결과는 다음과 같아야 합니다.const output = [345, 56, 334, 57, 567, 788, 78];해결 접근 방식핵심 로직은 다음과 같습니다.1. 숫자를 문자열로 변환한

  20. JavaScript에서 문자열을 고유 문자 기준으로 숫자 배열로 매핑하는 방법

    문자열을 입력받아 각 문자를 0부터 시작하는 숫자에 매핑하는 JavaScript 함수를 작성해야 한다고 가정해 봅시다. 함수가 문자열을 순회할 때 처음 등장하는(고유한) 문자를 만나면 매핑 카운트를 1씩 증가시키고, 중복된 문자를 만나면 이전과 동일한 숫자를 부여하는 방식입니다.문제 예시예를 들어, 다음과 같은 문자열이 있다고 해보겠습니다.const str = heeeyyyy;이때 기대되는 출력 결과는 다음과 같습니다.const output = [0, 1, 1, 1, 2, 2, 2, 2];결과를 살펴보면 첫 번째 문자 h는 새로운

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:72/297  20-컴퓨터/Page Goto:1 66 67 68 69 70 71 72 73 74 75 76 77 78