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

JavaScript

  1. JavaScript에서 문자열이 특정 문자로 끝나는지 확인하는 방법

    이번 글에서는 첫 번째 인수로 문자열을, 두 번째 인수로 단일 문자를 받는 JavaScript 함수를 작성해 보겠습니다.이 함수의 역할은 첫 번째 인수로 전달된 문자열이 두 번째 인수로 지정한 문자로 끝나는지 여부를 판별하는 것입니다. 단, ES6에서 제공하는 endsWith() 같은 내장 메서드나 외부 라이브러리 없이 순수하게 구현해야 한다는 조건이 있습니다.예제 코드다음은 실제 동작하는 코드입니다 −const str = This is a string; const checkEnding = (str = , char = )

  2. JavaScript 배열에서 특정 숫자와 가장 가까운 값 찾기

    이번 글에서는 첫 번째 인자로 숫자 배열, 두 번째 인자로 하나의 숫자를 받아, 배열 안에서 두 번째 인자로 주어진 숫자와 가장 가까운 값을 찾아 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 다음과 같은 배열과 숫자가 있다고 가정해 봅시다.const arr = [34, 67, 31, 53, 89, 12, 4]; const num = 41;41과 가장 가까운 숫자는 차이가 7인 34이므로, 함수의 결과값은 34가 되어야 합니다.구현 아이디어핵심 로직은 간단합니다. 배열을 처음부터 끝까지 순회하면서 각 요소와 목표

  3. JavaScript 배열에서 합이 배열에 존재하는 두 수의 쌍 찾기

    숫자로 이루어진 배열을 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 서로 다른 인덱스(연속적이든 아니든)에 위치한 두 숫자의 쌍을 찾아야 하며, 그 쌍의 합 역시 배열 안에 존재해야 합니다. 조건을 만족하는 쌍을 찾으면 해당 두 숫자를 반환하고, 만족하는 쌍이 없다면 빈 배열을 반환합니다.예제 코드다음은 위 문제를 해결하는 코드입니다 −const arr = [1, 3, 5, 6, 8, 9];const findPair = (arr = []) => {   let count = 0

  4. JavaScript로 숫자의 모든 약수 구하기 – 효율적인 약수 찾기 함수

    문제 개요 양의 정수 하나를 유일한 인수로 받아, 해당 숫자를 나누어 떨어지게 하는 모든 수(약수)를 배열로 만들어 반환하는 JavaScript 함수를 작성해야 합니다. 예시 − 입력 값이 다음과 같다면 − const num = 12; 출력 결과는 다음과 같아야 합니다 − const output = [1, 2, 3, 4, 6, 12]; 접근 방식 이 문제는 반복문을 활용해 간단히 해결할 수 있습니다. 핵심 아이디어는 다음과 같습니다. 1은 모든 양의 정수의 공통 약수이므로 결과 배열에 미리 포함시킵니다. num/2보다 큰 수 중

  5. JavaScript로 정렬되지 않은 배열에서 최댓값과 최솟값 찾기

    숫자로 이루어진 배열을 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 선형 시간(O(n))과 상수 공간(O(1)) 안에서 배열에 존재하는 가장 큰 숫자와 가장 작은 숫자를 찾아야 하며, 최솟값(min)과 최댓값(max)을 포함하는 객체를 반환해야 합니다.문제 접근 방법배열을 오름차순으로 정렬한 뒤 첫 번째 요소와 마지막 요소를 가져오는 방법도 있지만, 정렬에는 일반적으로 O(n log n)의 시간이 소요되므로 요구 조건에 맞지 않습니다. 따라서 배열의 첫 번째 요소로 min과 max를 초기화하고, 배열을 단 한

  6. JavaScript로 배열의 누적 합계 구하기: 각 인덱스까지의 합 계산 방법

    숫자 배열을 입력받아 새로운 배열을 반환하는 JavaScript 함수를 작성해야 합니다. 이때 새 배열의 각 인덱스에는 원본 배열에서 해당 인덱스까지의 모든 숫자의 합이 담겨야 합니다.문제 이해하기예를 들어, 입력 배열이 다음과 같다면 −const arr = [1, 2, 3, 4, 5];출력 결과는 다음과 같아야 합니다 −const output = [1, 3, 6, 10, 15];각 요소가 어떻게 계산되는지 살펴보면 다음과 같습니다.인덱스 0: 1인덱스 1: 1 + 2 = 3인덱스 2: 1 + 2 + 3 = 6

  7. JavaScript로 배열에서 모든 중복 요소 찾기 – 간단한 해시 맵 활용법

    JavaScript에서 배열에 같은 값이 여러 번 등장할 때, 어떤 요소들이 중복되었는지 한눈에 파악해야 하는 경우가 자주 있습니다. 이번 글에서는 두 번 이상 등장하는 모든 요소를 추출하는 함수를 작성하는 방법을 알아보겠습니다.문제 정의숫자로 이루어진 배열을 입력받아, 그중 한 번보다 많이 등장하는 요소들만 모은 새로운 배열을 반환하는 JavaScript 함수를 만들어야 합니다.예를 들어 다음과 같은 배열이 있다고 가정해 보겠습니다.const arr = [1, 3, 4, 3, 5, 4, 6, 8, 8];이 경우 함수가 반환해야 할

  8. JavaScript 인접 요소 최대 곱 알고리즘 구현하기

    정수로 이루어진 배열이 주어졌을 때, 서로 인접한 두 요소의 곱이 가장 큰 쌍을 찾아 그 곱을 반환하는 문제는 코딩 테스트에서 자주 등장하는 기본적인 알고리즘입니다.문제 정의배열 내에서 이웃한 두 요소를 차례대로 곱한 값들 중 최댓값을 구하는 것이 목표입니다.예를 들어 다음과 같은 배열이 주어졌다고 가정해 보겠습니다.const arr = [3, 6, -2, -5, 7, 3];이 경우 출력값은 21이 되어야 합니다. 그 이유는 [7, 3] 쌍의 곱(7 × 3 = 21)이 다른 어떤 인접 요소 쌍의 곱보다 크기 때문입니다.예제 코드다음

  9. JavaScript reduce()로 배열에서 가장 긴 문자열 찾기

    문제 상황JavaScript 프로그래밍을 하다 보면 문자열 배열에서 가장 긴 문자열을 찾아야 하는 경우가 종종 있습니다. 예를 들어 다음과 같은 문자열 배열이 있다고 가정해 보겠습니다.const arr = [    iLoveProgramming,    thisisalsoastrig,    Javascriptisfun,    helloworld,    can

  10. 자바스크립트(JavaScript)에서 숫자의 가장 큰 소인수 찾는 방법

    자바스크립트(JavaScript)에서 숫자 하나를 인수로 받아, 그 숫자를 나머지 없이 정확히 나누는 가장 큰 소수(소인수)를 찾는 함수를 작성해 보겠습니다. 문제 정의 함수에 전달되는 숫자는 반드시 합성수(composite number), 즉 두 개보다 많은 약수를 가진 수라고 가정합니다. 우리가 만들 함수는 이 입력값을 완전히 나누는 소수(prime number) 중에서 가장 큰 값을 반환해야 합니다. 예시 − 인수가 72라면 출력 결과는 3이어야 합니다. 그 이유는 72 = 2³ × 3² 이므로 72를 나눌 수 있는 소수

  11. JavaScript로 두 개의 n자리 숫자를 곱해 만들 수 있는 가장 큰 회문수 찾기

    9009는 아주 특별한 성질을 지닌 숫자입니다. 두 개의 2자리 숫자인 91과 99를 곱하면 9009가 되는데, 이것이 바로 두 자리 숫자끼리의 곱으로 만들 수 있는 가장 큰 회문수(palindrome)이기 때문입니다. 회문수란 앞에서부터 읽으나 뒤에서부터 읽으나 같은 수를 의미합니다. 이번 문제에서 작성해야 할 것은 자릿수 n을 인수로 받아, 두 개의 n자리 숫자를 곱하여 만들 수 있는 가장 큰 회문수를 찾아 반환하는 JavaScript 함수입니다. 예를 들어 n이 3이라면, 세 자리 숫자 두 개의 곱으로 만들 수 있는 가장 큰

  12. JavaScript로 1부터 n까지의 모든 숫자로 나누어 떨어지는 가장 작은 수 찾기

    이번 글에서는 숫자 n을 입력받아, 1부터 n까지의 모든 숫자로 정확히 나누어 떨어지는 가장 작은 수를 찾아 반환하는 JavaScript 함수를 작성해 보겠습니다.수학적으로 이 문제는 1부터 n까지의 최소공배수(LCM)를 구하는 것과 같습니다. 예를 들어 n이 10이라면, 1부터 10까지 모든 수로 나누어 떨어지는 가장 작은 수는 2520입니다.접근 방법가장 효율적인 방법은 소인수분해를 활용하는 것입니다. 핵심 아이디어는 다음과 같습니다.n 이하의 각 소수 p에 대해, p의 거듭제곱 중 n보다 작거나 같은 가장 큰 값을 구합니다.이

  13. JavaScript로 n번째 소수 구하기 – 효율적인 함수 구현 방법

    숫자 하나를 유일한 인수로 받는 자바스크립트 함수를 작성해야 합니다. 이 숫자를 n이라고 부르겠습니다. 함수는 첫 번째 소수부터 차례대로 세어 n번째 소수를 찾아 반환해야 합니다. 예시 예를 들어 n = 6이라면, 여섯 번째 소수인 13이 출력되어야 합니다. n = 6 → 13 n = 16 → 53 n = 66 → 317 코드 예제 다음은 위 요구 사항을 구현한 전체 코드입니다. const findPrime = num => { let i, primes = [2, 3], n = 5; const isPrime =

  14. JavaScript에서 거의 증가하는 수열(Almost Increasing Sequence) 확인하기

    엄격하게 증가하는 수열이란?수열 내 모든 요소가 바로 앞의 요소보다 클 때, 그 수열을 엄격하게 증가하는 수열(strictly increasing sequence)이라고 부릅니다. 예를 들어 [1, 3, 5]는 엄격하게 증가하는 수열이지만, [1, 3, 3]은 같은 값이 연속으로 등장하므로 해당하지 않습니다.이번 글에서는 숫자 배열을 인수로 받아, 최대 한 개의 요소만 제거했을 때 남은 숫자들로 엄격하게 증가하는 수열을 만들 수 있는지 판별하는 JavaScript 함수를 작성해 보겠습니다.구현 아이디어문제 해결 과정은 다음과 같이

  15. JavaScript에서 문자열의 각 알파벳을 N칸씩 이동시키는 방법

    영어 알파벳으로 구성된 문자열이 주어졌을 때, 각 알파벳을 알파벳 순서상 n칸 뒤에 있는 문자로 교체하는 것이 이번 과제입니다. 예를 들어 n = 1이라면 a는 b로, b는 c로 바뀌고, z는 다시 a로 순환됩니다. 문제 예시 입력 문자열과 이동 거리가 다음과 같다고 가정해 보겠습니다. const str = crazy; const n = 1; 이때 기대되는 출력 결과는 다음과 같습니다. alphabeticShift(inputString) = dsbaz 구현 방법 JavaScript에서는 charCodeAt()으로 문자를 ASCII

  16. JavaScript 배열에서 연속된 n개 요소의 최대 합 구하기

    문제 소개 숫자로 이루어진 배열 arr를 첫 번째 인수로, 정수 num을 두 번째 인수로 받는 JavaScript 함수를 작성해야 합니다. 이때 num은 항상 배열의 길이보다 작거나 같다는 조건이 주어집니다. 우리가 만들 함수는 배열에서 연속된 num개의 요소를 골랐을 때 그 합이 가장 커지는 경우를 찾아 해당 합을 반환해야 합니다. 예시 입력이 다음과 같다고 가정해 보겠습니다. const arr = [2, 5, 3, 4, 6]; const num = 2; 이때 기대하는 출력은 다음과 같습니다. const output = 10; 그

  17. JavaScript로 문자열이 회문(Palindrome)인지 확인하는 방법 – 구두점 제거와 대소문자 처리

    이번 글에서는 주어진 문자열이 회문(Palindrome)인지 판별하는 JavaScript 함수를 작성해 보겠습니다. 문자열이 앞에서 읽으나 뒤에서 읽으나 같다면 함수는 true를 반환하고, 그렇지 않으면 false를 반환합니다.회문 판별 시 고려해야 할 조건문자열을 검증할 때 다음 두 가지 조건을 반드시 염두에 두어야 합니다.구두점 제거 및 소문자 변환: 마침표, 쉼표 등의 구두점은 모두 제거하고, 모든 문자를 소문자로 바꾼 뒤 회문 여부를 검사해야 합니다.대소문자 구분 없음(Case Insensitive): racecar, Rac

  18. JavaScript로 꺾쇠괄호 문자열 균형 맞추기: 앞뒤에 괄호 추가하는 방법

    문제 소개 꺾쇠괄호(<, >)로만 구성된 문자열이 주어졌을 때, 문자열의 맨 앞과 맨 뒤에 괄호를 추가하여 모든 괄호가 서로 짝을 이루도록 만드는 함수를 작성해야 합니다. 여기서 꺾쇠괄호가 올바르게 매칭되려면, 모든 <에 대응하는 >가 존재하고, 반대로 모든 >에도 대응하는 <가 존재해야 합니다. 입력 예시 const str = ><<><; 출력 결과 const output = <><<><>>; 위 예제에서는 문자열의 균형을 맞추기

  19. JavaScript에서 1부터 n까지 모두 나누어 떨어지는 가장 작은 수 찾기

    숫자 하나를 입력받아, 1부터 n까지의 모든 자연수로 나누어 떨어지는 가장 작은 수를 찾는 JavaScript 함수를 작성해 보겠습니다.예를 들어 다음과 같습니다.n = 4일 경우, 결과값은 12입니다.12는 1, 2, 3, 4 모든 수로 나누어 떨어지는 가장 작은 수이기 때문입니다.구현 코드 {   let res = 0;   let i = 1;   let found = false;   while (found === false

  20. 자바스크립트로 n 미만의 모든 소수의 합 구하기

    이 글에서는 숫자 하나를 인수로 받아, n보다 작은 모든 소수(prime number)의 합을 구해 반환하는 자바스크립트 함수를 작성하는 방법을 살펴보겠습니다.문제 이해하기예를 들어 n = 10이라면, 10 이하의 소수는 2, 3, 5, 7입니다. 이 네 수의 합은 17이므로, 함수는 17을 반환해야 합니다.접근 방법이 문제는 두 단계로 나누어 해결할 수 있습니다.1단계 — 소수 판별: 어떤 수가 소수인지 확인하는 isPrime 함수를 만듭니다. 어떤 수가 소수가 아니라면 반드시 그 수의 제곱근(√num) 이하에 약수가 존재하므로,

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:39/297  20-컴퓨터/Page Goto:1 33 34 35 36 37 38 39 40 41 42 43 44 45