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

JavaScript

  1. JavaScript로 특수 배열(Special Array) 판별하기

    특수 배열이란?특정 배열이 특수 배열(Special Array)에 해당하려면 다음 두 조건을 만족해야 합니다.홀수 인덱스(1, 3, 5, ...)에 위치한 모든 요소는 홀수여야 합니다.짝수 인덱스(0, 2, 4, ...)에 위치한 모든 요소는 짝수여야 합니다.즉, 각 요소의 값과 해당 인덱스의 홀짝 성질이 일치해야 한다는 뜻입니다. 이번 글에서는 배열을 인자로 받아 해당 배열이 특수 배열인지 여부를 확인하는 JavaScript 함수를 작성해 보겠습니다.구현 예제다음은 위 조건을 검사하는 코드입니다.const arr = [0, 1,

  2. JavaScript로 문자열 앞뒤의 0 제거하는 방법

    이번 글에서는 숫자를 문자열 형태로 입력받아, 문자열 맨 앞과 맨 뒤에 있는 모든 0을 제거한 새로운 문자열을 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어, 입력값이 다음과 같다면 −const strNum = 054954000;출력 결과는 아래와 같아야 합니다 −const output = 54954;구현 방법가장 직관적인 접근 방식은 두 개의 포인터(인덱스)를 활용하는 것입니다. 하나는 문자열의 시작 부분부터 이동하며 앞쪽의 0을 건너뛰고, 다른 하나는 문자열의 끝 부분부터 이동하며 뒤쪽의

  3. 자바스크립트 고차 함수(HOC)로 두 수의 곱 구하기

    고차 함수(HOC)란?고차 함수(Higher Order Function, HOC)는 자바스크립트에서 다른 함수를 인수로 전달받거나, 함수를 반환값으로 가지거나, 혹은 두 가지 모두 수행하는 특별한 유형의 함수입니다. 고차 함수는 클로저(closure)와 함께 사용될 때 자바스크립트에서 매우 강력한 도구가 됩니다.이번 예제에서는 두 수의 곱을 구할 수 있는 자바스크립트 고차 함수를 작성해 보겠습니다.예제 코드다음은 두 수의 곱을 계산하는 고차 함수의 전체 코드입니다.const num1 = 24; const num2 = 5; const

  4. JavaScript로 자릿수 합 기준 홀수(Oddish)·짝수(Evenish) 판별하기

    Oddish와 Evenish란?숫자의 모든 자릿수를 더한 합계가 홀수이면 해당 숫자를 Oddish(홀디시), 합계가 짝수이면 Evenish(이븐니시)라고 부릅니다.예를 들어 434667의 각 자릿수를 더하면 4 + 3 + 4 + 6 + 6 + 7 = 30으로 짝수이므로, 이 숫자는 Evenish에 해당합니다.문제 요구 사항주어진 숫자가 Oddish인지 Evenish인지 판별하는 함수를 작성해야 하며, 반환 값은 다음과 같습니다.숫자가 Oddish이면 true숫자가 Evenish이면 false재귀를 활용한 해결 방법재귀 함수를 사용하

  5. 모서리 자릿수 차이 구하기 - JavaScript

    숫자를 하나 입력받아, 그 수의 첫 번째 자릿수(가장 앞자리)와 마지막 자릿수만으로 새로운 수를 구성한 뒤, 원래 수에서 이렇게 만들어진 수를 빼 그 차이를 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 입력값이 34567이라면,모서리 자릿수로 만든 수는 다음과 같습니다 −37따라서 최종 출력 결과는 다음과 같습니다 −34530예제다음은 전체 코드입니다 −const num = 34567;const cornerDifference = num => {   &

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

    문제 이해하기소문자로만 구성된 문자열을 입력받아 알파벳 역순(내림차순)으로 정렬하는 JavaScript 함수를 작성해야 합니다. 즉, b가 a보다 앞에 오고, c가 b보다 앞에 오는 방식으로 정렬하는 것입니다.예를 들어, 입력 문자열이 다음과 같다면 −const str = hello;출력 결과는 다음과 같아야 합니다 −const output = ollhe;구현 아이디어핵심 접근 방식은 다음 세 단계로 요약할 수 있습니다.문자열을 개별 문자로 분리해 배열로 만든다.사용자 정의 비교 함수를 통해 내림차순으로 정렬한

  7. JavaScript로 세 개의 연속된 자연수의 합 확인하기

    이번 글에서는 하나의 숫자 n을 입력받아, 세 개의 연속된 자연수(소수나 실수가 아닌 정수)의 합이 n과 같아지는 경우가 존재하는지 확인하는 JavaScript 함수를 작성해 보겠습니다.조건을 만족하는 세 개의 연속된 자연수가 존재하면 함수는 해당 숫자들을 반환하고, 그렇지 않다면 false를 반환하도록 구현합니다.접근 방법세 개의 연속된 자연수를 x, x+1, x+2라고 가정하면 이들의 합은 다음과 같습니다.x + (x + 1) + (x + 2) = 3x + 3 = 3(x + 1)즉, 세 개의 연속된 자연수의 합은 반드시 3의 배

  8. 정렬된 배열에서 한 번만 나타나는 첫 번째 요소 찾기 - JavaScript

    정렬된 배열에서 딱 한 번만 등장하는 숫자를 찾는 것은 코딩 테스트나 실무에서 자주 마주치는 문제입니다. 이번 글에서는 JavaScript로 이 문제를 효율적으로 해결하는 방법을 살펴보겠습니다.문제 정의다음과 같이 오름차순으로 정렬된 숫자 배열이 있다고 가정해 보겠습니다.const arr = [2, 2, 3, 3, 3, 5, 5, 6, 7, 8, 9];여기서 요구되는 작업은 다음과 같습니다.배열 안에서 단 한 번만 나타나는 첫 번째 숫자를 찾아 반환합니다.그런 숫자가 존재하지 않으면 false를 반환합니다.위 예시 배열에서 처음 두

  9. 자바스크립트로 숫자가 피보나치 수열에 포함되는지 확인하는 방법

    이번 글에서는 숫자를 입력받아 해당 숫자가 피보나치 수열에 포함되는지 판별하는 자바스크립트 함수를 작성해 보겠습니다. 함수는 숫자가 피보나치 수열에 속하면 true, 그렇지 않으면 false를 반환합니다.피보나치 수열이란?피보나치 수열은 첫 두 항이 0과 1로 시작하고, 이후의 모든 항은 바로 앞의 두 항을 더한 값으로 이루어지는 수열입니다.0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...구현 방법가장 직관적인 방법은 0과 1부터 시작해 피보나치 수를 차례대로 생성하면서, 입력값과 같아지면 true를

  10. 자바스크립트로 배열의 고유한 요소 합계 구하기

    배열이 주어졌을 때, 배열에 포함된 모든 고유한(distinct) 값을 한 번씩만 더해 총합을 구하는 함수를 작성해 보겠습니다.예를 들어 다음과 같은 숫자 배열이 있다고 가정해 봅시다.const arr = [1, 5, 2, 1, 2, 3, 4, 5, 7, 8, 7, 1];이 배열에서 중복을 제거하면 [1, 5, 2, 3, 4, 7, 8]이 되고, 이 값들의 합은 다음과 같습니다.1 + 5 + 2 + 3 + 4 + 7 + 8 = 30구현 방법가장 직관적인 방법은 각 요소에 대해 해당 값이 마지막으로 등장하는 인덱스(lastIndexO

  11. JavaScript 배열을 좌우 반으로 나눠 각 부분합의 곱 구하기

    문제 소개 숫자로 이루어진 길이 N(N은 짝수)의 배열을 입력받아, 배열을 각각 N/2개의 요소를 가진 두 개의 부분 배열(왼쪽, 오른쪽)로 나눈 뒤, 각 부분 배열의 합을 구하고 그 두 값을 곱하는 JavaScript 함수를 작성해야 합니다. 예를 들어 입력 배열이 다음과 같다고 가정해 보겠습니다. const arr = [1, 2, 3, 4] 그렇다면 기대되는 출력 결과는 다음과 같습니다. (1+2) * (3+4) = 21 구현 코드 다음은 위 문제를 해결하는 전체 코드입니다. { let { left, right }

  12. JavaScript로 구현하는 합이 0에 가장 가까운 인접 요소 찾기

    이번 글에서는 숫자 배열을 입력받아, 그중 합이 0(또는 목표값)에 가장 가까운 두 개의 인접 요소로 이루어진 부분 배열을 반환하는 JavaScript 함수를 만들어 보겠습니다.만약 배열의 길이가 2보다 작다면, 비교할 쌍이 존재하지 않으므로 배열 전체를 그대로 반환하면 됩니다.문제 예시예를 들어 다음과 같은 배열이 주어졌다고 가정해 봅시다.const arr = [4, 4, 12, 3, 3, 1, 5, -4, 2, 2];위 배열에서 인접한 두 요소끼리의 합을 모두 살펴보면, [5, -4]의 합은 1로 어떤 인접 쌍보다도 0에 가장

  13. JavaScript로 세 개의 숫자 중 중간값 찾기 – 최소 비교로 풀어내는 방법

    정렬되지 않은 세 개의 숫자를 입력받아, 최소한의 비교 연산만으로 그중 중간값(middle)을 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 숫자가 다음과 같다면 —34, 45, 12함수는 아래와 같은 값을 반환해야 합니다 —34접근 방식이 문제는 세 수를 일일이 비교·정렬하는 대신, 뺄셈 결과의 부호(양수/음수)를 활용하면 단 세 번의 뺄셈과 최대 두 번의 조건 검사만으로 해결할 수 있습니다.x = a - b : x가 양수면 a가 b보다 크고, 음수면 b가 더 큽니다.y = b - c : y가 양수면 b가 c보다

  14. JavaScript에서 두 배열의 최대 곱 합 구하기

    양수로만 이루어진 두 개의 배열 arr1과 arr2가 주어졌다고 가정해 보겠습니다. 두 배열에는 서로 동일한 개수의 값이 들어 있습니다.우리가 작성해야 할 함수는 두 배열의 요소들을 짝지어 곱했을 때, 그 곱들의 합이 최대가 되도록 만드는 것입니다.여기서 조건은 다음과 같습니다. arr1의 각 요소는 arr2의 정확히 하나의 요소와 곱해져야 하며, 그 반대도 마찬가지입니다. 즉, 두 배열의 모든 요소는 정확히 한 번씩만 사용되어야 하고, 이렇게 만들어진 곱들의 합이 최대가 되어야 합니다.예를 들어 다음과 같은 배열이 있다고 해보겠습

  15. 자바스크립트로 숫자의 약수 개수 구하기

    약수 개수 세기 문제란?주어진 숫자를 나누어 떨어지게 만드는 수, 즉 약수(divisor)의 개수를 반환하는 자바스크립트 함수를 작성하는 것이 목표입니다.예를 들어 입력값이 12라면, 12의 약수는 다음과 같습니다.1, 2, 3, 4, 6, 12따라서 출력 결과는 6이 되어야 합니다.기본 풀이 코드const num = 12; const countFactors = num => {     let count = 0;     let flag = 2;  

  16. JavaScript로 등차수열(AP)의 n번째 항 구하기

    이번 글에서는 세 개의 숫자를 인자로 받아 등차수열(Arithmetic Progression, AP)의 특정 항을 계산하는 JavaScript 함수를 작성해 보겠습니다.첫 번째와 두 번째 숫자는 등차수열의 시작 두 항(연속된 항)을 나타내며, 세 번째 숫자 n은 1부터 시작하는 인덱스 기준으로 값이 필요한 항의 위치를 의미합니다.문제 이해하기예를 들어 입력값이 2, 5, 7이라고 가정해 보겠습니다. 첫 두 수가 각각 2와 5이므로 공차는 3이 되고, 이 등차수열은 다음과 같습니다.2, 5, 8, 11, 14, 17, 20여기서 7번

  17. JavaScript로 문자열을 알파벳·숫자·특수문자 그룹으로 분할하기

    알파벳, 숫자, 특수 문자가 섞여 있는 문자열 S가 주어졌다고 가정해 보겠습니다. 이 문제의 목표는 문자열 S를 다음 조건을 만족하는 세 개의 문자열 S1, S2, S3로 분할하는 것입니다.S1: 문자열 S에 포함된 모든 알파벳을 담습니다.S2: 문자열 S에 포함된 모든 숫자를 담습니다.S3: 문자열 S에 포함된 모든 특수 문자를 담습니다.단, 세 문자열 각각의 문자는 반드시 입력 문자열에 등장한 순서 그대로 유지되어야 합니다.예제 코드다음은 reduce() 메서드를 활용해 문자열을 한 번의 순회만으로 분류하는 JavaScript

  18. JavaScript로 배열의 앞·뒤 k번째 요소 서로 교체하기

    이번 글에서는 숫자 배열과 하나의 숫자 k(k는 배열의 길이보다 작거나 같아야 함)를 인자로 받는 JavaScript 함수를 작성해 보겠습니다.이 함수의 역할은 배열의 앞에서부터 k번째 요소와 뒤에서부터 k번째 요소를 서로 맞바꾸는 것입니다.동작 원리배열의 길이를 l이라고 할 때, 배열 인덱스는 0부터 시작하므로 다음과 같이 정리할 수 있습니다.앞에서 k번째 요소의 인덱스: k - 1뒤에서 k번째 요소의 인덱스: l - k임시 변수(temp)를 활용해 두 위치의 값을 안전하게 교환하면 됩니다.예제 코드다음은 해당 기능을 구현한 코드

  19. 자바스크립트로 숫자 자릿수의 합이 회문인지 확인하는 방법

    문제 개요자바스크립트로 하나의 숫자를 입력받아 각 자릿수의 합을 구한 뒤, 그 합이 회문(Palindrome)인지 판별하는 함수를 작성해야 합니다. 여기서 회문이란 앞에서 읽어도 뒤에서 읽어도 동일한 숫자를 의미합니다. 함수는 자릿수의 합이 회문일 경우 true, 그렇지 않으면 false를 반환해야 합니다.예를 들어, 입력값이 697이라면 각 자릿수의 합은 6 + 9 + 7 = 22가 됩니다. 22는 거꾸로 읽어도 22이므로 회문 숫자에 해당합니다.따라서 이 함수는 697에 대해 true를 반환해야 합니다.예제 코드다음은 위 문제를

  20. JavaScript로 첫 n개의 홀수 자연수 제곱합 구하기

    이번 글에서는 숫자 n을 입력받아, 처음 n개의 홀수 자연수의 제곱합을 구하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 입력값이 3이라면 다음과 같이 계산됩니다.1² + 3² + 5² = 1 + 9 + 25 = 35따라서 최종 출력 결과는 다음과 같습니다.35접근 방법k번째 홀수 자연수는 공식 (2 × k) − 1로 표현할 수 있습니다. 즉,1번째 홀수 → 2 × 1 − 1 = 12번째 홀수 → 2 × 2 − 1 = 33번째 홀수 → 2 × 3 − 1 = 5따라서 반복문을 사용해 각 홀수를 구한 뒤 제곱하여 누적하면

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