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

JavaScript

  1. JavaScript로 중첩된 JSON 객체에서 일치하는 모든 도시 데이터 검색하기

    문제 소개 여러 국가와 그 하위의 주(province), 그리고 각 주에 속한 도시 정보를 계층 구조로 담고 있는 JSON 객체가 있다고 가정해 보겠습니다. 아래 예시 데이터에는 Bangladesh와 India 두 나라의 도시 정보가 포함되어 있습니다. const countryInfo = { country: [{ name: "Bangladesh", province: [{ name:"Dhaka", city: [{

  2. JavaScript로 문자열에서 가장 짧은 단어 찾는 방법

    문자열을 입력받아 그 안에서 가장 짧은 단어를 찾아 반환하는 JavaScript 함수를 작성해야 합니다.문제 이해하기예를 들어, 입력 문자열이 다음과 같다고 가정해 보겠습니다 −const str = This is a sample string;이 문자열에서 가장 짧은 단어는 a(길이 1)이므로, 기대하는 출력 결과는 다음과 같습니다 −const output = a;해결 접근 방법이 문제는 다음 단계를 거쳐 해결할 수 있습니다:split( ) 메서드로 문자열을 공백 기준으로 분리하여 단어 배열을 만듭니다.reduce() 메서드로 배열을

  3. JavaScript에서 특정 속성 값을 기준으로 객체 그룹화하는 방법

    JavaScript로 개발을 하다 보면 여러 개의 하위 객체를 담고 있는 하나의 객체를, 특정 속성의 값이 같은 것끼리 묶어서 새로운 구조로 재구성해야 하는 경우가 자주 발생합니다. 이번 글에서는 reduce() 메서드를 활용해 이러한 그룹화 작업을 간결하게 처리하는 방법을 알아보겠습니다.문제 상황다음과 같은 객체가 있다고 가정해 보겠습니다.const obj = { 0: { time: 1, day: 1 }, 1: { time: 2, day: 1 }, 2: { time: 3, day: 1 }, 3: { t

  4. 자바스크립트(JavaScript)로 숫자 자릿수를 알파벳에 매핑하는 모든 경우의 수 구하기

    숫자 12145가 주어졌을 때, 이 숫자의 각 자릿수를 영어 알파벳에 매핑하는 함수를 작성해야 한다고 가정해 보겠습니다. 매핑은 1부터 시작하는 인덱스를 기준으로 이루어지며, 1은 a, 2는 b, 3은 c와 같이 대응됩니다.하나의 숫자는 여러 가지 방식으로 매핑될 수 있습니다. 위의 12145를 예로 들어 살펴보겠습니다.먼저 다음과 같이 매핑할 수 있습니다.12145 → 1,2,1,4,5 → a,b,a,d,e또한 이렇게 매핑할 수도 있습니다.12145 → 12,1,4,5 → l,a,d,e그리고 다음과 같은 조합도 가능합니다.1214

  5. JavaScript로 분기별·연간 평균 한 번에 계산하는 방법

    데이터 분석 작업을 하다 보면 숫자 배열을 분기(quarter) 또는 연도(year) 단위로 묶은 뒤 각 그룹의 평균이나 합계를 구해야 하는 경우가 자주 있습니다. 이번 글에서는 JavaScript를 활용해 하나의 배열을 분기별·연간 그룹으로 나누고, 각 그룹의 평균값을 손쉽게 계산하는 방법을 알아보겠습니다.문제 상황다음과 같은 숫자 배열이 있다고 가정해 보겠습니다.const arr = [1,2,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];여기서 요구되는 것은 이 배열을 받아 3개씩 끊어 분

  6. JavaScript에서 문자열을 스네이크 케이스(Snake Case)로 변환하는 방법

    스네이크 케이스(Snake Case)는 문자열에서 공백을 언더스코어(_)로 대체하고, 각 단어의 첫 글자를 소문자로 변환하여 작성하는 표기 방식입니다. 주로 변수명이나 파일명을 작성할 때 널리 사용됩니다.이번 글에서는 문자열을 입력받아 스네이크 케이스로 변환하는 자바스크립트 함수를 작성해 보겠습니다.예제 코드구현 코드는 다음과 같습니다.const str = This is a simple sentence;const toSnakeCase = (str = ) => {    const strArr

  7. JavaScript로 정렬되지 않은 배열 요소 찾는 방법

    정렬된 숫자 배열이 있지만 그중 일부 요소가 정렬 순서에서 벗어나 있는 경우를 생각해 보겠습니다. 이때 우리가 해야 할 일은, 이러한 배열을 입력받아 정렬 순서에서 어긋난 모든 요소만으로 구성된 하위 배열(subarray)을 반환하는 JavaScript 함수를 작성하는 것입니다.문제 접근 방식배열의 각 요소를 순회하면서 현재 요소가 이전 요소보다 연속적(또는 오름차순)으로 이어지지 않는지 확인하면 됩니다. 순서가 맞지 않는 요소만 별도의 배열에 모아 반환하는 방식으로 해결할 수 있습니다.예제 코드실제 구현 코드는 다음과 같습니다.c

  8. JavaScript 배열 객체를 uuid 기준으로 그룹화하는 방법

    JavaScript로 개발하다 보면 객체 배열 안에서 특정 속성 값이 같은 항목끼리 묶어야 하는 경우가 자주 발생합니다. 이번 글에서는 uuid 속성 값을 기준으로 배열의 객체들을 그룹별로 분류하는 방법을 알아보겠습니다.문제 상황다음과 같이 여러 개의 객체를 담고 있는 배열이 있다고 가정해 보겠습니다.const arr = [ {name: toto, uuid: 1111}, {name: tata, uuid: 2222}, {name: titi, uuid: 1111} ];여기서 우리가 작성해야 할 함수는 uuid 속성

  9. JavaScript에서 소수 문자열 배열을 정수 문자열 배열로 변환하는 방법

    JavaScript에서 소수(십진수) 문자열로 이루어진 배열을 받아, 각 요소의 소수점 이하 값을 버린 정수 문자열 배열을 반환하는 함수를 작성해야 하는 경우가 있습니다.예를 들어 입력 배열이 다음과 같다면,const input = [1.00, -2.5, 5.33333, 8.984563];출력 결과는 다음과 같습니다.const output = [1, -2, 5, 8];구현 예제이를 구현한 코드는 다음과 같습니다. { const strNum = String(el); res[ind] = parseInt(st

  10. JavaScript map()과 reduce()로 중첩 배열을 객체 배열로 변환하는 방법

    JavaScript 개발을 하다 보면 키-값 쌍으로 이루어진 중첩 배열을 객체 배열로 변환해야 하는 경우가 자주 발생합니다. 이럴 때 map()과 reduce() 메서드를 함께 사용하면 간결하고 우아하게 문제를 해결할 수 있습니다.문제 상황다음과 같이 배열 안에 배열이 중첩된 형태의 데이터가 있다고 가정해 보겠습니다.const arr = [ [ [juice, apple], [maker, motts], [price, 12] ], [ [juice, orange], [maker, sunk

  11. 자바스크립트로 숫자의 자릿수를 재귀적으로 더해 한 자리 수 만들기

    이번 글에서는 숫자를 입력받아 각 자릿수를 계속 더한 뒤, 결과가 한 자리 숫자가 될 때까지 이 과정을 재귀적으로 반복하는 자바스크립트 함수를 작성하는 방법을 알아보겠습니다.예를 들어, 입력된 숫자가 다음과 같다면:54563최종 출력값은 5가 되어야 합니다. 그 이유는 다음과 같습니다:= 5 + 4 + 5 + 6 + 3= 23= 2 + 3= 5이처럼 자릿수의 합이 두 자리 이상일 경우, 다시 그 숫자들의 합을 구하는 과정을 반복하여 최종적으로 한 자리 숫자(디지털 루트, Digital Root)를 얻는 것이 목표입니다.구현 방법함수

  12. JavaScript로 배열이 오름차순, 내림차순, 정렬되지 않은 상태인지 확인하는 방법

    이번 글에서는 숫자 배열을 인수로 받아, 배열의 요소들이 오름차순으로 정렬되어 있는지, 내림차순으로 정렬되어 있는지, 아니면 정렬되어 있지 않은 상태인지 판별하는 JavaScript 함수를 작성해 보겠습니다.함수는 다음과 같은 조건을 처리해야 합니다.배열에 요소가 하나뿐이라면 정렬 여부를 판단할 수 없으므로 not enough items(요소가 부족함)라는 메시지를 반환해야 합니다.배열의 모든 요소가 서로 같다면 all items are equal(모든 요소가 같음)이라는 메시지를 반환해야 합니다.동작 원리핵심 로직은 간단합니다.

  13. JavaScript로 문자열의 각 단어를 반전시키는 방법

    JavaScript에서 문자열을 다루다 보면 문장 전체가 아닌 각 단어의 철자 순서만 반전해야 하는 경우가 있습니다. 이번 글에서는 문자열을 입력받아 원본 문자열의 모든 단어를 반전시킨 새로운 문자열을 반환하는 함수를 작성하는 방법을 알아보겠습니다.문제 정의예를 들어, 다음과 같은 문자열이 있다고 가정해 보겠습니다.const str = this is a sample string;이때 각 단어의 철자만 뒤집고 단어의 순서는 그대로 유지해야 하므로, 기대하는 출력 결과는 다음과 같습니다.const output = siht si a el

  14. JavaScript에서 배열을 N개로 균등 분할하는 방법

    문제 개요JavaScript에서 리터럴 값으로 이루어진 배열과 숫자 n을 입력받아, 배열을 정확히 n개의 하위 배열(청크)로 나누는 함수를 작성해야 합니다. 이때 n은 항상 배열의 길이보다 작거나 같다고 가정합니다.예를 들어, 입력 배열이 다음과 같다면 −const arr = [1,2,3,4,5,6,7,8,9,10];const n = 3;출력 결과는 다음과 같아야 합니다 −const output = [[1,2,3],[4,5,6],[7,8,9,10]];해결 방법핵심 아이디어는 각 청크의 크기를 배열 길이 ÷ 청크

  15. JavaScript 배열에서 null 값만 골라내는 방법

    ```html JavaScript에서 배열에 포함된 null 값만 제거해야 하는 경우가 종종 있습니다. 이때 주의할 점은 undefined, 0, false 같은 다른 거짓(falsy) 값들은 그대로 유지하면서 오직 null만 걸러내야 한다는 것입니다.예를 들어 다음과 같은 입력 배열이 있다고 가정해 보겠습니다.const arr = [12, 5, undefined, null, 0, false, null, 67, undefined, false, null];이 배열에서 null만 제거하면 결과는 다음과 같아야 합니다.const outp

  16. JavaScript에서 배열의 중복 항목 제거하기 – 3개씩 반복되는 값 걸러내는 방법

    JavaScript에서 리터럴 값을 담은 배열을 입력받아, 같은 값이 3개씩 묶여 반복되는 항목을 모두 필터링한 새로운 배열을 반환하는 함수를 작성해야 하는 경우가 있습니다. 즉, 특정 값이 3번 이상 연속해서 나타나면 3개 단위로 제거하고, 남은 개수(개수 % 3)만큼의 요소만 결과 배열에 포함시키는 것입니다.동작 방식이 문제는 크게 두 단계로 해결할 수 있습니다.1단계: reduce()를 활용해 각 값이 몇 번 등장했는지 해시 객체(hash map)에 카운트합니다.2단계: 각 값의 등장 횟수를 3으로 나눈 나머지(% 3)만큼만

  17. JavaScript에서 숫자의 자릿수를 계속 더해 한 자리 숫자로 만드는 방법

    숫자를 하나 입력받아 각 자릿수의 합을 재귀적으로 계산하고, 그 결과가 한 자리 숫자(10 미만)가 될 때까지 반복하는 함수를 작성해야 합니다.예시findSum(12345) = 1+2+3+4+5 = 15 = 1+5 = 6따라서 최종 출력 결과는 6이 되어야 합니다.재귀를 활용한 구현이제 findSum() 함수의 코드를 작성해 보겠습니다.// using recursionconst findSum = (num) => {    if(num < 10){    

  18. JavaScript에서 숫자 배열을 누적 합계 배열로 변환하는 방법

    문제 상황JavaScript로 개발을 하다 보면 다음과 같은 숫자 배열을 다뤄야 할 때가 있습니다.const arr = [1, 1, 5, 2, -4, 6, 10];이 배열을 누적 합계(partial sum) 배열로 변환하는 것이 목표입니다. 즉, 각 요소가 처음부터 해당 위치까지의 모든 요소를 더한 값이 되도록, 원본과 같은 크기의 새로운 배열을 반환하는 함수를 작성해야 합니다.따라서 기대되는 출력 결과는 다음과 같습니다.const output = [1, 2, 7, 9, 5, 11, 21];partialSum() 함수 구현그럼 누적

  19. JavaScript에서 문자열을 알파벳 역순으로 정렬하는 방법

    문제 개요 소문자로만 구성된 문자열을 입력받아 알파벳 역순(내림차순)으로 정렬하는 JavaScript 함수를 작성해야 합니다. 즉, 일반적인 사전 순서와는 반대로 b가 a보다 앞에, c가 b보다 앞에 오도록 배치하는 것입니다. 예시 입력 문자열이 다음과 같다고 가정해 보겠습니다. const str = hello; 이때 기대되는 출력 결과는 다음과 같습니다. const output = ollhe; 구현 코드 이 문제는 배열의 sort() 메서드에 내림차순 정렬용 비교 함수를 전달하는 방식으로 해결할 수 있습니다. 전체 코드는 다음과

  20. JavaScript로 합이 n이 되는 세 개의 연속 자연수 찾기

    문제 이해하기숫자 n을 입력받아, 세 개의 연속된 자연수(소수나 실수가 아닌 정수)의 합이 정확히 n이 되는 경우가 존재하는지 확인하는 JavaScript 함수를 작성해야 합니다.만약 그러한 숫자들이 존재한다면 함수는 해당 세 숫자를 반환하고, 존재하지 않는다면 false를 반환해야 합니다.접근 방법세 개의 연속된 자연수를 각각 x, x+1, x+2라고 표현할 수 있습니다. 이들의 합은 다음과 같습니다.x + (x + 1) + (x + 2) = 3x + 3따라서 해가 존재하려면 n은 반드시 3으로 나누어떨어져야 하며, 가장 작은 세

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:79/297  20-컴퓨터/Page Goto:1 73 74 75 76 77 78 79 80 81 82 83 84 85