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

JavaScript

  1. JavaScript로 숫자 범위 내 모든 수의 최소 공배수(LCM) 구하기

    이번 글에서는 정확히 두 개의 숫자를 담고 있는 배열을 입력으로 받는 JavaScript 함수를 작성해 보겠습니다. 이 배열은 하나의 숫자 범위를 나타내며, 함수는 해당 범위에 포함된 모든 숫자의 최소 공배수(LCM, Least Common Multiple)를 계산하여 그 결과를 반환해야 합니다.접근 방식범위 전체의 최소 공배수를 구하는 가장 효율적인 방법은 최대 공약수(GCD)를 활용하는 것입니다. 두 수 a와 b의 최소 공배수는 다음 공식으로 구할 수 있습니다.LCM(a, b) = (a × b) / GCD(a, b)최대 공약수는

  2. 자바스크립트로 이진 탐색 트리(BST)에서 값의 존재 여부 확인하기

    이진 탐색 트리(Binary Search Tree, BST)는 데이터를 효율적으로 저장하고 검색할 수 있는 자료구조입니다. 이번 글에서는 BinarySearchTree 클래스에 특정 값이 트리 안에 존재하는지 확인하는 contains 메서드를 구현하는 방법을 알아보겠습니다.구현 원리BST는 다음과 같은 규칙을 따릅니다.왼쪽 자식 노드는 항상 부모 노드보다 작은 값을 가집니다.오른쪽 자식 노드는 항상 부모 노드보다 큰 값을 가집니다.이 규칙 덕분에 값을 검색할 때 매 단계마다 탐색 범위가 절반으로 줄어들어, 평균적으로 O(log n)

  3. JavaScript에서 n으로 나누어 떨어지는 난수 생성하는 방법

    JavaScript 프로그래밍을 하다 보면 특정 숫자의 배수에 해당하는 난수가 필요한 경우가 있습니다. 예를 들어 격자(grid) 기반 UI를 만들거나, 일정 간격으로 값을 배치해야 하는 상황에서 유용하게 사용할 수 있습니다.이번 글에서는 숫자 하나를 인수로 받아, 항상 그 숫자로 나누어 떨어지는 난수를 반환하는 JavaScript 함수를 작성해 보겠습니다.구현 원리핵심 아이디어는 간단합니다. 먼저 일반적인 난수를 생성한 뒤, 이를 원하는 숫자(n)로 나누고 반올림한 후 다시 n을 곱해주면 됩니다. 이렇게 하면 결과값이 항상 n의

  4. JavaScript에서 특정 문자로 시작하는 단어 찾기

    JavaScript 프로그래밍을 하다 보면 문자열 배열 안에서 특정 문자로 시작하는 요소를 찾아야 하는 경우가 자주 있습니다. 예를 들어 이름 목록에서 K로 시작하는 이름이 처음 등장하는 위치를 알고 싶다면 어떻게 해야 할까요?이번 글에서는 문자열 배열과 한 개의 문자를 인자로 받아, 해당 문자로 시작하는 첫 번째 배열 요소의 인덱스를 반환하는 함수를 작성하는 방법을 알아보겠습니다.문제 정의요구 사항은 다음과 같습니다.첫 번째 인자: 문자열 리터럴로 이루어진 배열두 번째 인자: 검색할 단일 문자배열을 순회하며 해당 문자로 시작하는

  5. JavaScript로 배열의 모든 순열(Permutation) 생성하는 방법

    서로 다른 정수로 이루어진 배열이 주어졌을 때, 배열에 포함된 숫자들의 가능한 모든 순열(permutation)을 반환해야 하는 문제를 생각해 볼 수 있습니다.예를 들어, 입력 배열이 다음과 같다면 −const arr = [1, 2, 3];출력 결과는 아래와 같아야 합니다 −const output = [    [1,2,3],    [1,3,2],    [2,1,3],    [2,3,1],  &nb

  6. JavaScript에서 숫자 값의 상대적 크기에 따라 객체를 XL·L·M·S 그룹으로 분류하는 알고리즘

    문제 상황다음과 같이 항목 이름을 키로, 숫자를 값으로 가지는 객체 배열이 있다고 가정해 보겠습니다.const arr = [ {item1: 144}, {item2: 0}, {item3: 366}, {item4: 15}, {item6: 366}, {item7: 19}, {item8: 211}, {item9: 121} ];우리가 작성해야 할 것은 이러한 배열을 입력받아 객체들을 XL, L, M, S 네 개의 그룹으로 묶어 주는 자바스크립트 함수입니다. 여기서 중요한 점은, 숫자가

  7. JavaScript로 배열 속 특정 단어가 등장하는 횟수 세기

    문제 이해하기첫 번째 인자로 문자열 배열(리터럴 배열)을, 두 번째 인자로 검색할 문자열을 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 두 번째 인자로 전달된 문자열이 배열의 각 요소 안에 몇 번이나 등장하는지 그 횟수를 반환해야 합니다.여기서 핵심은 완전히 일치하는 요소만 세는 것이 아니라, 배열 요소 문자열 안에 부분 문자열로 포함된 경우도 모두 세야 한다는 점입니다. 예를 들어 word, a word, another word처럼 서로 다른 요소들이 있어도, 세 요소 모두 word라는 단어를 포함하고 있다면 결과

  8. 자바스크립트로 특정 길이의 랜덤 문자열 생성하기

    숫자를 인수로 딱 하나만 받아서, 그 숫자가 지정한 길이만큼의 무작위(랜덤) 문자열을 반환하는 자바스크립트 함수를 작성해 보겠습니다.여기서 문자열 생성에 사용할 문자 집합은 영문 대문자와 소문자 알파벳으로만 구성되어야 하며, 공백·특수문자·숫자는 포함하지 않습니다.예제 코드구현 코드는 다음과 같습니다.const num = 13;const randomString = (len = 1) => {    const charSet =      ABC

  9. JavaScript로 '연도-월' 형식 문자열 배열을 시간순으로 정렬하는 방법

    JavaScript를 다루다 보면 2009-feb, 2010-jan처럼 연도와 월이 하나의 문자열로 결합된 데이터를 정렬해야 하는 경우가 종종 있습니다. 이런 형식의 배열을 가장 오래된 날짜부터 최신 날짜 순서(오름차순)로 정렬하는 방법을 알아보겠습니다.문제 상황다음과 같이 연도-월 형식의 문자열로 구성된 배열이 있다고 가정해 보겠습니다.const arr = [2009-feb, 2009-jan, 2010-mar, 2010-jan, 2011-jul, 2011-sep, 2011-jan, 2012-jan, 2012-dec, 2012-fe

  10. JavaScript로 두 배열의 데카르트 곱(Cartesian Product) 계산하기

    데카르트 곱(Cartesian Product)이란?두 집합(배열) A와 B의 데카르트 곱은 A × B로 표기하며, 첫 번째 요소 a가 A에 속하고 두 번째 요소 b가 B에 속하는 모든 순서쌍 (a, b)의 집합을 의미합니다.좀 더 쉽게 설명하면, 두 배열의 데카르트 곱은 첫 번째 요소는 첫 번째 배열에서, 두 번째 요소는 두 번째 배열에서 가져온 가능한 모든 두 요소 조합의 배열이라고 할 수 있습니다.예를 들어, 다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.const arr1 = [1, 2, 3];const arr2 = [

  11. JavaScript에서 대소문자를 구분하지 않고 두 문자열을 비교하는 방법

    JavaScript에서 두 문자열이 서로 같은지 확인해야 할 때가 있습니다. 이때 단순히 === 연산자를 사용하면 대소문자까지 구분하기 때문에, 대소문자를 무시하고 비교하려면 별도의 처리가 필요합니다.예를 들어 다음과 같은 함수를 작성한다고 가정해 보겠습니다.areEqual(done, DOne) → truedone과 DOne은 글자의 대소문자만 다를 뿐 내용은 동일하므로, 비교 결과는 true가 되어야 합니다.해결 방법: toLowerCase() 활용가장 간단하고 널리 사용되는 방법은 toLowerCase() 메서드로 두 문자열을

  12. JavaScript 배열 데이터를 객체로 그룹화하는 방법 (reduce 활용)

    문제 정의다음과 같이 학생들의 과목별 점수가 담긴 2차원 배열이 있다고 가정해 보겠습니다.const arr = [ [English, 52], [Hindi, 154], [Hindi, 241], [Spanish, 10], [French, 65], [German, 98], [Russian, 10] ];여기서 해야 할 일은 이러한 배열을 입력받아 객체의 객체(object of objects) 형태로 반환하는 JavaScript 함수를 작성하는 것입니다.반환되는 객체는 각 고유한 과목마다 하나의 하위 객체를 가져야

  13. JavaScript로 문자열 안에 특정 문자열이 몇 번 나오는지 세는 방법

    JavaScript에서 두 개의 문자열을 받아, 첫 번째 문자열(str1) 안에 두 번째 문자열(str2)이 총 몇 번 등장하는지 세어 그 결과를 반환하는 함수를 작성해야 하는 경우가 종종 있습니다.예를 들어 다음과 같은 동작을 기대할 수 있습니다.count(this is a string, is) → 2 반환구현 예제아래 코드는 indexOf() 메서드를 활용해 문자열 내 특정 부분 문자열의 등장 횟수를 계산하는 함수입니다. 추가로 allowOverlapping 옵션을 통해 겹치는 패턴도 허용할지 여부를 지정할 수 있습니다. {

  14. JavaScript 배열 순회하며 연속된 't' 값 묶음 개수 구하기

    데이터베이스에서 조회한 t(true)와 f(false)로 표현된 불리언 배열이 있다고 가정해 보겠습니다.const arr = [f, t, f, t, t, t, f, f, t, t, t, t, t, t, f, t];우리가 작성해야 할 함수는 이러한 배열을 하나의 인자로 받아서, 앞뒤로 f에 둘러싸여 있는 연속된 t 값들의 묶음(cluster)별 개수를 계산한 뒤, 그 결과를 배열 형태로 반환하는 것입니다.따라서 위 배열의 경우 각 t 묶음의 길이는 다음과 같습니다.const output = [1, 3, 6, 1];문제 접근 방식이 문

  15. JavaScript로 지정한 범위 내 임의의 소수 생성하기

    두 개의 숫자를 인자로 받아 검색 범위를 지정하고, 그 범위 안에 포함된 소수 중 하나를 무작위로 골라 반환하는 JavaScript 함수를 작성해 보겠습니다. 범위 내의 모든 소수를 효율적으로 찾기 위해 에라토스테네스의 체(Sieve of Eratosthenes) 알고리즘을 활용합니다. 이 방식은 2부터 √max까지의 수에 대해 각각의 배수를 차례로 제거해 나가기 때문에, 비교적 넓은 범위에서도 빠른 속도로 소수 목록을 얻을 수 있습니다. 예제 코드 const range = [100, 1000]; // 에라토스테네스의 체로 min

  16. JavaScript로 객체 배열에서 특정 키-값 찾기 완벽 가이드

    문제 상황다음과 같은 JSON 객체가 있다고 가정해 보겠습니다. 각 카테고리(노트북, 데스크톱, 마우스, 키보드)는 제품 정보를 담은 객체 배열을 값으로 가지고 있습니다.const obj = { LAPTOP: [{ productId: 123 }], DESKTOP: [{ productId: 456 }], MOUSE: [{ productId: 789 }, { productId: 012 }], KEY-BOARD: [{

  17. JavaScript – 여러 배열에서 인덱스별 최댓값만 골라 하나의 배열로 합치기

    문제 이해하기임의 개수의 숫자 배열을 입력으로 받아, 각 인덱스 위치에 있는 값들 중 가장 큰 수를 골라 하나의 새로운 배열로 반환하는 자바스크립트 함수를 작성해 보겠습니다. 예를 들어 네 개의 배열이 주어졌다면, 네 배열의 첫 번째 요소 중 최댓값, 두 번째 요소 중 최댓값… 을 차례대로 추출한 배열이 결과로 나옵니다.예제 코드구현 코드는 다음과 같습니다.const arr1 = [117, 121, 18, 24]; const arr2 = [132, 19, 432, 23]; const arr3 = [32, 23, 137, 145];

  18. JavaScript – SQL LIKE 쿼리처럼 특정 값을 포함하는 키 찾기

    문제 상황다음과 같은 객체가 있다고 가정해 보겠습니다.const obj = { 100: Jaipur, 101: Delhi, 102: Raipur, 104: Goa };이 객체를 첫 번째 인수로, 검색어(query)를 두 번째 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 SQL의 LIKE 연산자처럼 동작하여, 전달받은 검색어를 값에 포함하는 모든 키/값 쌍을 반환해야 합니다.접근 방법가장 직관적인 해결 방법은 객체의 모든 키를 하나씩 순회하면서 각 값이 검색어를 포함하는지 확인하는

  19. JavaScript 중첩 객체의 모든 중복 값을 찾아 배열로 반환하기

    다음과 같이 반려동물에 대한 정보를 담고 있는 중첩된(nested) JavaScript 객체가 있다고 가정해 보겠습니다.const pets = {     owner1: Frank,     owner2: Curly,     owner3: Maurice,     dogs: {         terriers: {  &

  20. JavaScript에서 숫자 배열을 N개의 그룹으로 분할하는 방법

    이번 글에서는 숫자로 이루어진 배열을 N개의 그룹으로 나누는 JavaScript 함수를 작성해 보겠습니다. 이때 각 그룹은 크기가 큰 것부터 작은 것 순서대로 정렬되어야 합니다.예를 들어, 12개의 숫자로 이루어진 배열을 5개의 배열로 나눈다면 결과는 다음과 같이 균등하게 분배되며, 큰 그룹에서 작은 그룹 순으로 배치됩니다.const arr = [1,2,3,4,5,6,7,8,9,10,11,12];const output = [[1,2,3], [4,5,6], [7,8], [9,10], [11,12]];함수 설계함수는 첫 번째 인수로 원

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:55/297  20-컴퓨터/Page Goto:1 49 50 51 52 53 54 55 56 57 58 59 60 61