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

JavaScript

  1. 자바스크립트 reduce() 메서드로 배열 정렬하는 방법

    이번 글에서는 Array.prototype.sort() 메서드를 사용하지 않고, 대신 Array.prototype.reduce() 메서드만으로 숫자 배열을 정렬하는 자바스크립트 함수를 만들어 보겠습니다.reduce()는 보통 배열을 하나의 값으로 축소할 때 사용되지만, 누산기에 요소를 하나씩 알맞은 위치에 삽입하는 삽입 정렬 방식으로 응용하면 정렬 기능도 손쉽게 구현할 수 있습니다.예제 배열다음 배열을 오름차순으로 정렬해 보겠습니다.const arr = [4, 56, 5, 3, 34, 37, 89, 57, 98];예제 코드아래 코드

  2. 자바스크립트로 배열의 모든 숫자를 나눌 수 있는 공통 약수 구하기

    문제 소개숫자로 이루어진 배열을 입력받아, 배열 안의 모든 숫자를 나머지 없이 정확히 나눌 수 있는 숫자(공통 약수)를 찾아 반환하는 자바스크립트 함수를 작성해야 합니다.예를 들어 다음과 같은 배열이 있다고 가정해 보겠습니다.const arr = [4, 6, 34, 76, 78, 44, 34, 26, 88, 76, 42];위 배열의 모든 요소는 짝수이므로, 이 배열 전체를 나눌 수 있는 숫자는 최소한 2입니다. 실제로 코드를 실행하면 어떤 값들이 공통 약수인지 확인할 수 있습니다.해결 접근 방식이 문제는 크게 두 단계로 나누어 해결

  3. JavaScript로 숫자의 소수점 이하 자릿수 구하는 방법

    JavaScript에서 정수 또는 실수(부동소수점 숫자)를 입력받아, 실수라면 소수점 이하 자릿수를 반환하고 정수라면 0을 반환하는 함수를 작성해야 하는 경우가 있습니다. 이번 글에서는 이 문제를 간단하고 효율적으로 해결하는 방법을 알아보겠습니다.예를 들어 다음과 같은 두 개의 숫자가 있다고 가정해 보겠습니다.const num1 = 1.123456789; const num2 = 123456789;여기서 num1은 소수점 아래 9자리를 가진 실수이고, num2는 소수점이 없는 정수입니다. 우리가 원하는 결과는 각각 9와 0입니다.해결

  4. JavaScript로 문자열의 각 알파벳을 숫자로 변환하는 방법

    이번 글에서는 문자열을 입력받아 각 알파벳에 대응하는 숫자를 출력하는 JavaScript 함수를 작성해 보겠습니다.알파벳과 숫자의 대응 관계는 다음과 같습니다.a = 1 b = 2 c = 3 d = 4 e = 5 . . . Y = 25 Z = 26문제 이해하기예를 들어 입력값이 hello man이라면, 공백을 제외한 각 문자에 해당하는 숫자가 출력되어야 합니다.8,5,12,12,15,13,1,14여기서 h=8, e=5, l=12, l=12, o=15, m=13, a=1, n=14를 의미합니다.구현 원리핵심 아이디어는 charCode

  5. JavaScript로 짝수·홀수 자릿수 합이 주어진 수로 나누어 떨어지는 모든 n자리 숫자 찾기

    이번 글에서는 세 개의 숫자를 인자로 받는 JavaScript 함수를 작성해 보겠습니다. 편의상 이 세 숫자를 각각 a, b, n이라고 부르겠습니다. 함수가 해야 할 일은 다음과 같습니다. 모든 n자리 숫자를 대상으로 검사를 수행합니다. 짝수 위치(오른쪽 끝 자리를 0번째로 했을 때 0, 2, 4...번째)의 자릿수 합이 a로 나누어 떨어져야 합니다. 홀수 위치의 자릿수 합이 b로 나누어 떨어져야 합니다. 조건을 만족하는 모든 숫자를 배열에 담아 반환하며, 조건에 맞는 숫자가 하나도 없으면 빈 배열을 반환합니다. 구현 코드 co

  6. JavaScript에서 특정 조건을 만족하는 값만 골라 평균 계산하기

    다음과 같이 객체 여러 개를 담고 있는 배열이 있다고 가정해 보겠습니다.const arr = [     {val: 56, canUse: true},     {val: 16, canUse: true},     {val: 45, canUse: true},     {val: 76, canUse: false},     {val: 45, canUse: true},

  7. 끝자리 문자가 같은 중복 문자열 삭제하기 - JavaScript

    이번 글에서는 문자열 배열을 입력받아, 같은 문자로 끝나는 두 문자열 중 하나를 삭제하고 각 끝자리 문자별로 하나의 문자열만 남기는 JavaScript 함수를 작성해 보겠습니다.문제 이해하기예를 들어 다음과 같은 배열이 있다고 가정해 봅시다.const arr = [Radar, Cat, Dog, Car, Hat];여기서 Cat과 Hat은 모두 t로 끝나고, Dog과 Car은 모두 g와 r로 각각 끝납니다. 즉, 끝자리 문자가 중복되는 경우 첫 번째로 등장한 문자열만 남기고 나머지는 배열에서 제거해야 합니다.해결 방법이 문제는 Map

  8. JavaScript로 문자열에서 두 번째로 많이 등장하는 문자 찾기

    문제 개요이번 글에서는 문자열을 인자로 받아, 해당 문자열에서 두 번째로 많이 등장하는 문자를 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.const str = This string will be used to calculate frequency;위 문자열에서 가장 많이 등장하는 문자를 제외하고 두 번째로 자주 나타나는 문자는 e입니다.해결 접근 방식이 문제는 다음 세 단계로 해결할 수 있습니다.1. 문자열을 한 글자씩 분리합니다.2. Map 객체를 활용해 각 문자의

  9. JavaScript에서 객체의 키와 값을 별도의 객체 배열로 분할하는 방법

    문제 소개 다음과 같이 여러 개의 키-값 쌍으로 이루어진 객체가 있다고 가정해 보겠습니다. const dataset = { diamonds: 77, gold-bars: 28, exciting-stuff: 52, oil: 51, sports-cars: 7, bitcoins: 40 }; 우리가 작성해야 할 것은, 이러한 객체를 입력받아 각 키(key)와 그에 대응하는 값(value)이 하나의 객체로 분리된 형태의 배열을 반환하는 자바스크립트 함수입니다. 따라서 위 객체를 변환했을 때 기대되는

  10. JavaScript로 문자열을 알파벳·숫자·특수문자 그룹별로 나누는 방법

    알파벳, 숫자, 특수문자가 섞여 있는 문자열 S가 주어졌을 때, 이를 세 개의 서로 다른 문자열 S1, S2, S3로 분리하는 프로그램을 작성해야 합니다. 각 문자열의 역할은 다음과 같습니다.S1: 원본 문자열 S에 포함된 모든 알파벳을 담습니다.S2: 원본 문자열 S에 포함된 모든 숫자를 담습니다.S3: 원본 문자열 S에 포함된 모든 특수문자를 담습니다.이때 중요한 조건은, 세 문자열의 문자들이 입력 문자열에서 등장한 순서를 그대로 유지해야 한다는 점입니다.예제 코드아래 코드는 문자열을 한 글자씩 순회하면서 reduce 메서드로

  11. 자바스크립트로 배열의 처음과 끝에서 특정 요소 서로 교환하기

    숫자로 이루어진 배열과 하나의 숫자(예: n, 반드시 배열의 길이보다 작거나 같아야 함)를 인수로 받는 자바스크립트 함수를 작성해야 합니다. 이 함수는 배열의 앞쪽에서 k번째 요소와 뒤쪽에서 k번째 요소를 서로 맞바꾸는 역할을 수행합니다.예제다음은 해당 기능을 구현한 코드입니다 −const arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];const swapNth = (arr, k) => {   const { length: l } = arr;   

  12. JavaScript로 숫자 자릿수의 합이 회문인지 확인하는 방법

    이번 글에서는 숫자를 입력받아 각 자릿수의 합을 구한 뒤, 그 합이 회문(Palindrome) 수인지 판별하는 JavaScript 함수를 작성해 보겠습니다. 함수는 합이 회문일 경우 true, 그렇지 않으면 false를 반환해야 합니다.문제 이해하기예를 들어 입력된 숫자가 697이라고 가정해 봅시다.각 자릿수를 더하면 6 + 9 + 7 = 22가 됩니다. 22는 앞에서 읽어도 뒤에서 읽어도 같은 회문 수이므로, 함수는 697에 대해 true를 반환해야 합니다.구현 아이디어구현은 두 단계로 나눌 수 있습니다.1단계 – 자릿수 합 구하

  13. 재귀 함수로 JavaScript 중첩 배열의 합계 구하기

    JavaScript에서 숫자로 이루어진 중첩 배열(nested array)을 입력받아, 배열 안에 포함된 모든 숫자의 합계를 반환하는 함수를 작성해야 하는 경우가 있습니다. 이때 재귀(recursion)를 활용하면 깊이에 상관없이 간단하고 효율적으로 문제를 해결할 수 있습니다.문제 상황예를 들어, 다음과 같이 배열 안에 또 다른 배열이 여러 겹으로 중첩된 구조가 있다고 가정해 보겠습니다.const arr = [2, 5, 7, [     4, 5, 4, 7, [    &n

  14. JavaScript로 두 배열 간의 대칭 차집합 구하기

    대칭 차집합(Symmetric Difference)이란?수학에서 두 집합 A와 B의 대칭 차집합은 A △ B로 표기합니다. 이는 A 또는 B 어느 한쪽에는 속하지만, 두 집합 모두에는 속하지 않는 원소들의 집합으로 정의됩니다.예를 들어 다음과 같은 두 배열이 있다고 가정해 보겠습니다.const A = [1, 2, 3, 4, 5, 6, 7, 8];const B = [1, 3, 5, 6, 7, 8, 9];두 배열에서 공통으로 존재하는 값은 1, 3, 5, 6, 7, 8입니다. 따라서 한쪽에만 존재하는 원소들만 남기면 A와 B의 대칭 차

  15. JavaScript로 배열에서 가장 짧은 문자열 찾기

    문자열 배열을 입력받아 그중 가장 길이가 짧은 문자열을 찾아 반환하는 JavaScript 함수를 작성해야 합니다.접근 방법가장 기본적인 방법은 for 루프를 사용해 배열을 순회하면서 가장 짧은 문자열의 인덱스를 계속 저장하는 것입니다. 하지만 이번 예제에서는 코드를 더 간결하게 만들어 주는 reduce() 메서드를 활용해 보겠습니다.reduce()를 사용하면 배열을 순회하면서 누적값(acc)에 현재까지 발견된 가장 짧은 문자열의 인덱스(ind)와 길이(len)를 함께 유지할 수 있습니다. 초기값으로 인덱스는 -1, 길이는 Infin

  16. JavaScript 객체 배열에서 이름으로 사용자 ID 찾기

    다음과 같이 사용자 이름이 고유한 ID에 매핑되어 있는 객체 배열이 있다고 가정해 보겠습니다.const arr = [ {4: Rahul}, {7: Vikram}, {6: Rahul}, {3: Aakash}, {5: Vikram} ];배열에서 확인할 수 있듯이 하나의 이름이 여러 개의 ID와 매핑될 수 있습니다. 반대로 하나의 ID가 서로 다른 두 이름에 동시에 매핑되는 경우는 없습니다.우리가 작성해야 할 JavaScript 함수는 첫 번째 인수로 위와 같은 배열을, 두 번째 인수로 이름 문자열을

  17. JavaScript 객체의 모든 값을 배열로 변환하는 2가지 방법

    JavaScript 개발을 하다 보면 객체(Object)에 담긴 모든 프로퍼티 값을 하나의 배열로 변환해야 하는 경우가 자주 발생합니다. 예를 들어 다음과 같은 객체가 있다고 가정해 보겠습니다.{    firstName: John,    lastName: Smith,    isAlive: true,    age: 25}이 객체로부터 아래와 같이 값들만 순서대로 담긴 배열을 만들어야 합니다.c

  18. 자바스크립트로 자릿수의 합 이상인 가장 가까운 소수 찾는 방법

    이번 글에서는 하나의 숫자를 입력받아 각 자릿수의 합을 계산한 뒤, 그 합보다 크거나 같은 수 중에서 가장 가까운 소수를 반환하는 자바스크립트 함수를 작성해 보겠습니다. 문제 접근 방식 이 문제는 크게 세 단계로 나누어 해결할 수 있습니다. 자릿수의 합 계산: 재귀 함수를 활용해 숫자의 각 자릿수를 모두 더합니다. 소수 판별: 특정 수가 소수인지 확인하는 함수를 만듭니다. 가장 가까운 소수 찾기: 자릿수의 합부터 시작해 1씩 증가시키며 처음으로 소수가 되는 값을 찾습니다. 예제 코드 const num = 56563; // 숫자

  19. JavaScript로 유한소수 판별하기 – 특수한 유형의 숫자 찾기

    유리수와 무리수십진법 체계에서 모든 실수는 크게 두 그룹으로 나눌 수 있습니다.유리수(Rational Number)무리수(Irrational Number)이 글에서는 그중 유리수에 대해서만 살펴보겠습니다.유리수란?p/q(단, q ≠ 0) 형태로 표현할 수 있는 모든 수를 유리수라고 합니다. 예를 들어 14, 4.6, 3.33333… 같은 수들이 모두 유리수에 해당합니다.유한소수와 순환소수유리수는 다시 두 그룹으로 나눌 수 있습니다.유한소수(Terminating Decimal)순환소수(Repeating Decimal)이 분류는 p를

  20. JavaScript에서 문자열이 다른 문자열로 끝나는지 확인하는 방법

    JavaScript에서 두 개의 문자열 str1과 str2를 인수로 받아, str1이 str2로 끝나는지 여부를 판별하는 함수를 작성해야 합니다. 이 함수는 판별 결과에 따라 불리언(boolean) 값을 반환해야 합니다.먼저 첫 번째 문자열을 살펴보겠습니다.const str1 = this is just an example;다음은 두 번째 문자열입니다.const str2 = ample;구현 아이디어핵심 로직은 간단합니다. str1의 길이에서 str2의 길이만큼 뒤에서부터 잘라낸 부분 문자열(substring)을 추출한 뒤, 이것이 s

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:86/297  20-컴퓨터/Page Goto:1 80 81 82 83 84 85 86 87 88 89 90 91 92