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

JavaScript

  1. JavaScript로 문자열 요소의 빈도 분포 계산하기

    이번 글에서는 문자열을 입력받아 각 문자(요소)가 몇 번 등장했는지를 나타내는 빈도 분포(frequency distribution) 객체를 반환하는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.문제 정의다음과 같은 문자열이 있다고 가정해 보겠습니다.const str = This string will be used to calculate frequency distribution;우리가 만들어야 할 함수는 이 문자열을 분석하여, 각 문자가 키(key)가 되고 해당 문자의 등장 횟수가 값(value)이 되는 객체를 반환해야

  2. JavaScript에서 조건에 따라 프로미스(Promise)를 해결(Resolve)하거나 거부(Reject)하는 방법

    JavaScript에서는 setTimeout() 함수를 활용하여 실제 네트워크 요청을 흉내 내는 함수를 작성할 수 있습니다. setTimeout()은 지정된 시간 간격이 지난 후에 특정 작업을 실행하는 타이머 함수로, 비동기 동작을 시뮬레이션하기에 적합합니다.이때 작성할 함수는 다음과 같은 동작을 해야 합니다.요청이 성공적으로 처리되면 프로미스를 해결(resolve)합니다.요청이 실패하면 프로미스를 거부(reject)합니다.예제 코드아래 코드는 두 숫자의 합이 기대값과 일치하는지 확인하고, 그 결과에 따라 프로미스를 해결하거나 거부

  3. JavaScript 배열에서 소수 걸러내기: filter() 함수 활용법

    자바스크립트에서 숫자로 이루어진 배열에서 소수(prime number)만 제거하고 싶은 경우가 종종 있습니다. 이번 글에서는 소수 판별 함수를 직접 작성하고, 배열의 내장 메서드인 filter()와 조합하여 소수가 포함되지 않은 새로운 배열을 만드는 방법을 알아보겠습니다.문제 정의다음과 같은 숫자 배열이 주어졌을 때,const arr = [34, 56, 3, 56, 4, 343, 68, 56, 34, 87, 8, 45, 34];소수를 모두 제거한 새로운 배열을 반환하는 함수를 작성해야 합니다.소수 판별 로직 이해하기구현에 앞서 소수

  4. JavaScript로 배열에서 고유한(중복 없는) 요소 찾기

    이번 글에서는 여러 번 반복되는 요소가 섞여 있는 배열에서 단 한 번만 등장하는 요소만 골라 새로운 배열로 반환하는 JavaScript 함수를 작성하는 방법을 알아보겠습니다. 문제 이해하기 예를 들어 다음과 같은 숫자 배열이 있다고 가정해 봅시다. const arr = [9, 5, 6, 8, 7, 7, 1, 1, 1, 1, 1, 9, 8]; 이 배열에서 9, 7, 1, 8은 두 번 이상 등장하므로 제외되어야 하며, 기대하는 출력 결과는 다음과 같습니다. const output = [5, 6]; 풀이 접근 방식 핵심 아이디어는 간단합

  5. JavaScript에서 마이너스(-) 기호 없이 두 숫자 빼는 방법

    두 개의 숫자를 입력받아 그 차이를 반환하는 JavaScript 함수를 작성해야 합니다. 조건은 하나, 바로 마이너스(-) 기호를 사용하지 않고 뺄셈을 구현하는 것입니다.접근 방식: 비트 연산 활용하기마이너스 기호 없이 뺄셈을 수행하려면 비트 연산(bitwise operation)을 활용할 수 있습니다. 핵심 원리는 다음과 같습니다.XOR(^) 연산은 자리올림(carry)을 무시한 상태에서 각 비트의 차이를 계산합니다.AND(&) 연산으로 두 숫자에서 겹치는 비트를 찾고, 왼쪽 시프트(<<)를 한 칸 적용하면 자리올림 값이 됩니다.

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

    이번 글에서는 문자열을 입력받아 각 단어의 마지막 모음(vowel)을 제거한 새로운 문자열을 반환하는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.const str = This is an example string;이때 기대되는 출력 결과는 다음과 같습니다.const output = Ths s n exampl strng;문제 해결 접근 방식이 문제는 다음과 같은 순서로 해결할 수 있습니다.문자열을 공백을 기준으로 분리하여 단어 배열을 만듭니다.각 단어에서 모음(a

  7. JavaScript로 포커 페어 카드 찾기 – 가장 높은 페어 반환하기

    문제 개요 포커 플레이어가 무작위로 뽑은 5장의 카드를 나타내는 배열을 입력받는 함수를 작성해야 합니다. 이때 배열은 정확히 5개의 요소로 구성됩니다. 5장의 카드 중 최소 한 쌍의 페어가 존재한다면, 함수는 가장 높은 페어를 이루는 카드를 반환해야 합니다(페어가 하나뿐이라면 당연히 그 카드를 반환합니다). 반대로 페어가 전혀 없다면 false를 반환합니다. 예를 들어, 다음과 같은 배열이 주어졌다고 가정해 보겠습니다. const arr = [A, Q, 3, A, Q]; 이 경우 함수는 아래와 같은 값을 반환해야 합니다. Q이므로

  8. JavaScript로 프로그레시브 배열 확인하기

    문자열 배열이 길이 기준 오름차순으로 정렬되어 있을 때, 이 배열이 프로그레시브(progressive) 배열인지 판별하는 JavaScript 함수를 작성해 보겠습니다.프로그레시브 배열이란?프로그레시브 배열이란, 연속된 두 문자열 쌍마다 두 번째 문자열이 첫 번째 문자열의 맨 앞 또는 맨 뒤에 글자 하나를 추가하여 만들 수 있는 배열을 의미합니다.예를 들어 다음과 같은 배열이 주어졌다고 가정해 보겠습니다.const arr = [c, ca, can, acan, acane, dacane];각 단계를 살펴보면 다음과 같습니다.c → ca

  9. JavaScript로 문자열의 중복 문자 개수 계산하기

    이번 문제는 문자열을 인수로 받아, 해당 문자열에 포함된 중복 문자(redundant characters)의 개수를 반환하는 JavaScript 함수를 작성하는 것입니다.문제 이해하기예를 들어, 다음과 같은 문자열이 주어졌다고 가정해 보겠습니다.const str = abcde;abcde는 모든 문자가 한 번씩만 등장하므로, 출력 결과는 0이어야 합니다.반면, 다음과 같은 문자열이 있다면:const str = aaacbfsc;여기서 a는 3번, c는 2번 등장합니다. 각 문자가 처음 등장한 것은 정상적인 경우로 보고, 이후 반복해서

  10. JavaScript로 배열의 모든 숫자 자릿수 오름차순 정렬하기

    이번 문제에서는 숫자로 이루어진 배열을 인자로 받아, 각 숫자의 자릿수를 내부적으로 특정 순서(여기서는 오름차순)대로 재배열하는 JavaScript 함수를 작성해야 합니다. 예를 들어, 다음과 같은 배열이 있다고 가정해 보겠습니다 − const arr = [543, 65, 343, 75, 567, 878, 87]; 그렇다면 출력 결과는 다음과 같아야 합니다 − const output = [345, 56, 334, 57, 567, 788, 78]; 예제 다음은 해당 기능을 구현한 전체 코드입니다 − const arr = [543,

  11. 자바스크립트로 반소수(Semiprime) 판별하기

    이번 글에서는 숫자를 입력받아 해당 숫자가 반소수(semiprime)인지 아닌지를 판별하는 자바스크립트 함수를 작성해 보겠습니다.반소수(Semiprime)란?반소수는 두 개의 소수의 곱으로 이루어진 특수한 형태의 합성수입니다. 예를 들어 6(=2×3), 15(=3×5), 10(=2×5), 77(=7×11)은 모두 반소수입니다. 또한 소수의 제곱 역시 반소수에 해당하며, 4(=2²), 9(=3²), 25(=5²) 등이 그 예입니다.예제 코드다음은 주어진 숫자가 반소수인지 확인하는 코드입니다 −const num = 141;

  12. JavaScript로 문자열의 고유 문자를 배열에 매핑하는 방법

    문제 소개이번 글에서는 문자열을 입력받아 각 문자를 0부터 시작하는 숫자로 매핑하는 JavaScript 함수를 작성해 보겠습니다.요구 사항은 다음과 같습니다.함수는 문자열을 인수로 받습니다.문자열의 각 문자를 처음 만나면(고유 문자) 매핑 카운트를 1 증가시켜 새로운 번호를 할당합니다.이미 등장했던(중복된) 문자를 만나면 새 번호 대신 기존에 할당된 동일한 번호를 매핑합니다.예시입력 문자열이 다음과 같다고 가정해 보겠습니다.const str = heeeyyyy;h는 첫 등장이므로 0, e는 세 번 반복되므로 모두 1, y는 네 번

  13. JavaScript로 문자열에서 두 번째로 자주 등장하는 문자 찾기 (공백 포함)

    이번 글에서는 문자열을 인수로 받아 해당 문자열에서 두 번째로 자주 등장하는 문자를 반환하는 JavaScript 함수를 작성해 보겠습니다. 공백도 하나의 문자로 취급하여 빈도 계산에 함께 포함됩니다. 접근 방법 문제를 해결하는 과정은 다음과 같습니다. 객체(map)를 만들어 각 문자별 등장 횟수를 누적합니다. Object.keys()로 문자 목록을 가져온 뒤, [문자, 횟수] 형태의 2차원 배열로 변환합니다. 횟수를 기준으로 내림차순 정렬합니다. 정렬된 배열의 두 번째 요소(index 1)에 해당하는 문자를 반환합니다. 예제 코

  14. JavaScript로 두 문자열을 두 글자씩 번갈아 합치는 방법

    문제 소개이번 글에서는 두 개의 문자열을 입력받아, 첫 번째 문자열에서 두 글자씩, 그다음 두 번째 문자열에서 두 글자씩 번갈아 가며 추출해 하나의 새로운 문자열을 만들어 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어, 다음과 같은 두 문자열이 있다고 가정해 봅시다.const str1 = Hello world; const str2 = How are you btw;이때 기대되는 출력 결과는 다음과 같습니다.const output = HeHollw o arwoe rlyodu btw;즉, He(첫 번째 문자열) → Ho

  15. JavaScript로 문자열에서 두 번째로 짧은 단어의 길이 찾기

    문제 개요JavaScript에서 문자열 문장을 유일한 인자로 입력받아, 그 안에서 두 번째로 짧은 단어의 길이를 반환하는 함수를 작성해야 합니다.예를 들어, 다음과 같은 문자열이 주어졌을 때 −const str = This is a sample string;각 단어의 길이는 This(4), is(2), a(1), sample(6), string(6)입니다. 가장 짧은 단어는 a(길이 1)이고, 그다음으로 짧은 단어는 is(길이 2)이므로 출력 결과는 2가 되어야 합니다.예시 코드다음은 위 문제를 해결하는 JavaScrip

  16. 두 개의 배열을 합쳐 연속된 수열을 만들 수 있는지 확인하는 방법 - JavaScript

    이번 글에서는 숫자로 이루어진 두 개의 배열을 인수로 받는 JavaScript 함수를 작성해 보겠습니다.이 함수는 두 배열을 하나로 합친 뒤 임의의 순서로 재배열했을 때, 연속된 수열(연속적인 시퀀스)을 만들 수 있으면 true를, 만들 수 없으면 false를 반환해야 합니다.예를 들어, 입력 배열이 다음과 같다고 가정해 보겠습니다.const arr1 = [4, 6, 2, 9, 3];const arr2 = [1, 5, 8, 7];두 배열을 합치면 [4, 6, 2, 9, 3, 1, 5, 8, 7]이 되고, 이를 정렬하면 [1, 2,

  17. JavaScript 배열에서 데이터 타입별 개수 계산하기

    문제 소개서로 다른 데이터 타입의 요소들이 섞여 있는 배열이 주어졌을 때, 각 데이터 타입이 몇 번 등장하는지를 Map 객체 형태로 반환하는 자바스크립트 함수를 작성해 보겠습니다.예를 들어 다음과 같은 배열이 있다고 가정해 봅시다.const arr = [23, df, undefined, null, 12, {    name: Rajesh}, [2, 4, 7], dfd, null, Symbol(*), 8];이 배열에는 숫자, 문자열, undefined, null, 객체, 배열, 심볼 등 다양한 타입의

  18. JavaScript로 숫자의 프리모리얼(Primorial) 구하는 방법

    어떤 수 n의 프리모리얼(primorial)은 처음 n개의 소수를 모두 곱한 값입니다. 소수들을 계승(factorial)처럼 곱한다고 해서 소수 계승이라고도 불립니다.예를 들어, n = 4라고 가정해 보겠습니다.이때 primorial(4)의 결과는 다음과 같습니다.2 * 3 * 5 * 7 = 210즉, 처음 네 개의 소수인 2, 3, 5, 7을 모두 곱하면 210이 됩니다.문제 정의우리는 하나의 숫자를 입력받아 해당 숫자의 프리모리얼 값을 반환하는 JavaScript 함수를 작성해야 합니다.구현 접근 방식이 문제는 두 단계로 나누어

  19. JavaScript로 배열의 시작과 끝 요소를 쌍으로 묶는 방법

    JavaScript에서 숫자 또는 문자열로 이루어진 배열을 입력받아, 새로운 이중 배열(배열의 배열)을 반환하는 함수를 작성해 보겠습니다. 각 하위 배열은 정확히 두 개의 요소를 포함하며, 앞에서 n번째 요소와 뒤에서 n번째 요소가 서로 짝을 이루는 구조입니다.문제 이해하기예를 들어, 다음과 같은 배열이 있다고 가정해 보겠습니다.const arr = [1, 2, 3, 4, 5, 6];이 경우 원하는 출력 결과는 다음과 같습니다.const output = [[1, 6], [2, 5], [3, 4]];첫 번째 요소인 1과 마지막 요소인

  20. JavaScript로 오늘부터 n일 뒤의 요일 구하기 – Date 객체 활용법

    숫자 n을 유일한 인수로 받는 자바스크립트 함수를 작성해 보겠습니다.이 함수는 먼저 자바스크립트의 Date 객체를 사용해 오늘의 요일을 확인한 뒤, 오늘부터 n일 후가 무슨 요일인지 계산하여 반환해야 합니다.동작 예시예를 들어, 오늘이 월요일이고 n = 2라면 결과는 다음과 같습니다.Wednesday예제 코드다음은 이를 구현한 코드입니다.const num = 15; const findNthDay = num => {     const weekday = [Sunday, Monday, Tuesda

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:92/297  20-컴퓨터/Page Goto:1 86 87 88 89 90 91 92 93 94 95 96 97 98