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

JavaScript

  1. JavaScript로 정렬된 배열에서 첫 번째 고유 요소 찾기

    문제 정의다음과 같이 오름차순으로 정렬된 배열이 있다고 가정해 보겠습니다.const arr = [2, 2, 3, 3, 3, 5, 5, 6, 7, 8, 9];우리가 작성해야 할 것은 이러한 배열을 입력받아 딱 한 번만 등장하는 첫 번째 숫자를 반환하는 JavaScript 함수입니다.만약 배열 안에 그러한 숫자가 존재하지 않는다면 false를 반환해야 합니다.위 배열의 경우 출력 결과는 6이어야 합니다. 2, 3, 5는 각각 두 번 이상 반복되어 등장하지만, 6은 가장 먼저 한 번만 나타나는 값이기 때문입니다.예제 코드이 문제를 해결하

  2. JavaScript로 숫자가 피보나치 수열에 포함되는지 확인하는 방법

    문제 개요숫자를 하나 입력받아, 해당 숫자가 피보나치 수열(Fibonacci series)에 포함되어 있는지 판별하는 JavaScript 함수를 작성해야 합니다. 함수는 판별 결과에 따라 불리언(Boolean) 값인 true 또는 false를 반환해야 합니다.피보나치 수열이란?피보나치 수열은 첫 두 항이 0과 1로 시작하고, 세 번째 항부터는 바로 앞의 두 항을 더한 값이 차례로 이어지는 수열입니다.0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...접근 방법가장 효율적인 방법은 피보나치 수열의 값을 처음

  3. JavaScript로 배열의 고유 요소(중복 제거) 합계 구하는 방법

    JavaScript를 사용하다 보면 배열에 담긴 값들 중 중복을 제거한 고유(distinct) 요소만 골라 합계를 구해야 하는 경우가 종종 있습니다. 이번 글에서는 그러한 배열을 입력받아 고유 요소들의 합을 반환하는 함수를 작성하는 방법을 알아보겠습니다.문제 정의예를 들어 다음과 같은 숫자 배열이 있다고 가정해 보겠습니다.const arr = [1, 5, 2, 1, 2, 3, 4, 5, 7, 8, 7, 1];이 배열에는 1, 2, 5, 7처럼 여러 번 반복되는 값들이 포함되어 있습니다. 우리가 만들 함수는 이 배열을 인자로 받아,

  4. JavaScript에서 글자 수가 홀수인 단어만 반전시키는 방법

    문자열을 입력받아, 그중 글자 수가 홀수인 단어만 골라 반전한 뒤 새로운 문자열로 반환하는 JavaScript 함수를 작성해 보겠습니다.여기서 단어란 공백으로 구분되는 부분 문자열을 의미합니다. 즉, 양쪽이 공백으로 둘러싸여 있거나, 문자열의 맨 앞 또는 맨 뒤에 위치하면서 한쪽에만 공백이 인접한 부분까지 모두 단어로 간주합니다.구현 아이디어이 문제는 다음과 같은 순서로 해결할 수 있습니다.split( ) 메서드로 문자열을 공백 기준으로 분리해 배열을 만듭니다.reduce()를 사용해 각 단어를 순회하며 글자 수가 홀수인지 확인합니

  5. JavaScript로 문자열에서 가장 먼저 두 번 등장하는 문자의 인덱스 찾기

    이번 글에서는 문자열을 입력받아 해당 문자열에서 가장 먼저 두 번 나타나는 문자의 인덱스를 반환하는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.만약 두 번 이상 나타나는 문자가 하나도 없다면 함수는 -1을 반환해야 합니다.접근 방법이 문제는 Map 객체를 활용하면 효율적으로 해결할 수 있습니다. 문자열을 왼쪽에서 오른쪽으로 순회하면서 각 문자와 해당 인덱스를 Map에 저장합니다. 순회 도중 이미 Map에 존재하는 문자를 만나면, 그 문자가 처음 등장했을 때의 인덱스를 즉시 반환하면 됩니다.이 방식은 시간 복잡도 O(n

  6. JavaScript에서 문자열에서 특정 하위 문자열 제거하는 방법

    문자열에서 특정 하위 문자열 제거하기메인 문자열과 제거할 하위 문자열(substring)이 주어졌을 때, 두 개의 인수를 받아 해당 하위 문자열이 제거된 새로운 문자열을 반환하는 함수 removeString()을 만들어 보겠습니다.예를 들어, 다음과 같은 문자열에서 하이픈(-) 구분자를 제거해야 하는 상황을 가정해 봅시다.this-is-a-stingsplit()과 join()을 활용한 방법가장 간단하고 널리 사용되는 방식은 split() 메서드로 문자열을 구분자를 기준으로 분리한 뒤, join() 메서드로 다시 하나의 문자열로 합치

  7. 자바스크립트로 갭풀(Gapful) 숫자 판별하고 가장 가까운 수 찾기

    갭풀 숫자란 무엇일까?갭풀(Gapful) 숫자는 다음 두 가지 조건을 모두 충족하는 수를 말합니다.최소 세 자리 이상의 숫자여야 한다.첫 번째 자릿수와 마지막 자릿수를 이어 붙여 만든 수로 정확히 나누어 떨어져야 한다.예시1053은 네 자리 숫자이고, 첫 자리와 끝 자리를 이어 붙인 13으로 정확히 나누어 떨어지므로 갭풀 숫자입니다.135는 세 자리 숫자이고, 15로 정확히 나누어 떨어지므로 갭풀 숫자입니다.이번 글의 목표는 입력으로 주어진 숫자와 가장 가까운 갭풀 숫자를 찾아 반환하는 프로그램을 작성하는 것입니다. 그럼 바로 코드

  8. JavaScript 문자열 변환: 'i'는 1로, 'o'는 0으로 바꾸기

    문제 소개이번 문제는 문자열을 인자로 하나 받아, 문자열에 포함된 모든 i는 1로, o는 0으로 바꾼 새로운 문자열을 반환하는 함수를 작성하는 것입니다.전형적인 반복문(for loop) 활용 문제로, 문자열의 각 인덱스를 순회하면서 조건에 맞는 문자를 치환하고 새로운 문자열을 만들어가는 방식으로 해결할 수 있습니다.for 루프를 이용한 풀이먼저 빈 문자열을 준비한 뒤, 원본 문자열의 길이만큼 반복하면서 각 문자를 검사합니다. 문자가 i라면 1을, o라면 0을 결과 문자열에 추가하고, 그 외의 문자는 그대로 추가합니다.const st

  9. JavaScript 자연 정렬: 숫자와 문자열이 혼합된 배열 정렬 방법

    실무에서는 숫자와 문자열이 뒤섞인 배열을 만나게 되는 경우가 종종 있습니다. 이런 배열을 정렬할 때는 숫자들을 먼저 크기순(오름차순)으로 배치하고, 그 뒤에 문자열들을 알파벳순으로 정렬하는 것이 일반적입니다.문제 예시다음과 같은 배열이 있다고 가정해 보겠습니다.const arr = [1, fdf, afv, 6, 47, 7, svd, bdf, 9];위 배열을 정렬했을 때 기대하는 출력 결과는 다음과 같습니다.[1, 6, 7, 9, 47, afv, bdf, fdf, svd]커스텀 비교 함수 구현JavaScript의 Array.proto

  10. JavaScript에서 조건에 따라 문자열 내부에 줄 바꿈 추가하는 방법

    문제 정의문자열을 지정된 글자 수 기준으로 나누는 breakString() 함수를 작성해야 합니다. 이 함수는 두 개의 인수를 받습니다.첫 번째 인수: 분할 대상이 되는 문자열두 번째 인수: 임계값(글자 수). 이 글자 수에 도달하면 공백을 줄 바꿈 문자(\n)로 반복해서 대체합니다.구현 아이디어접근 방식은 다음과 같습니다.for 루프를 사용해 문자열의 각 문자를 순회하면서 현재까지 센 글자 수를 카운트 변수로 관리합니다.카운트가 한도(limit)에 도달한 상태에서 공백을 만나면, 새 문자열에는 공백 대신 줄 바꿈 문자를 삽입하고

  11. JavaScript 배열의 모든 요소에 대한 빈도 맵 만들기

    문제 개요숫자나 문자열로 이루어진 배열에는 종종 중복된 항목들이 포함되어 있습니다. 이때 우리가 해야 할 일은 배열 안의 각 요소가 몇 번 등장했는지, 즉 빈도(frequency)를 계산하여 반환하는 것입니다.이러한 문제에서는 각 요소를 키(key)로, 해당 요소의 등장 횟수를 값(value)으로 가지는 객체를 반환하는 방식이 가장 적합합니다.해결 접근 방식배열을 forEach() 루프로 순회하면서 다음과 같은 로직으로 처리합니다.객체에 해당 요소가 이미 존재한다면, 기존 카운트를 1 증가시킵니다.존재하지 않는다면, 해당 요소를 새

  12. 자바스크립트로 문자열 지그재그 대소문자 변환하기

    지그재그 대소문자 변환 함수란?이번 예제에서는 문자열을 입력받아 짝수 인덱스의 글자는 소문자로, 홀수 인덱스의 글자는 대문자로 변환한 새로운 문자열을 반환하는 함수를 작성해 보겠습니다. 대소문자가 번갈아 가며 나타나는 이러한 형태를 흔히 지그재그 패턴이라고 부릅니다.예를 들어 Hello world라는 문자열이 주어지면, 첫 글자(인덱스 0)는 소문자, 두 번째 글자(인덱스 1)는 대문자로 바꾸는 식으로 전체 문자열을 처리하게 됩니다.전체 코드const text = Hello world, it is so nice to be alive

  13. JavaScript에서 객체 속성 값을 기준으로 배열 그룹화하기

    여러 자동차 정보를 담고 있는 객체 배열이 있다고 가정해 보겠습니다. 배열은 다음과 같이 구성되어 있습니다.const cars = [{ company: Honda, type: SUV }, { company: Hyundai, type: Sedan }, { company: Suzuki, type: Sedan }, { company: Audi, type: Coupe }, { company: Tata, type: SUV }, { company: Morris Ga

  14. JavaScript 재귀 함수로 중첩 객체에서 특정 키의 값 찾기

    실무에서는 프로퍼티 값으로 또 다른 객체를 갖는 객체를 자주 다루게 됩니다. 이런 객체는 2~3단계, 혹은 그 이상으로 깊게 중첩되어 있을 수 있습니다. 이 글에서는 재귀(recursion)를 활용해 중첩된 객체 전체에서 원하는 키를 검색하고, 일치하는 모든 값을 배열로 반환하는 방법을 알아보겠습니다.예시 객체다음과 같이 사람 이름을 키로 하고, 그 안에 fullName과 details(중첩 객체)를 포함하는 객체가 있다고 가정해 보겠습니다.const people = { Ram: { fullName: Ram K

  15. JavaScript에서 key 속성을 기준으로 객체 그룹화하는 방법

    문제 상황 이해하기JavaScript 개발을 하다 보면 중첩된 배열 안의 객체들을 특정 키(key) 값 기준으로 묶어야 하는 경우가 자주 발생합니다. 이번 글에서는 다음과 같은 데이터 구조를 다뤄보겠습니다.하나의 부모 배열(parentArray) 안에 크기가 같은 여러 개의 하위 배열(sub array)이 들어 있습니다. 각 하위 배열은 key와 value라는 두 가지 속성을 가진 객체들로 구성되어 있으며, 다음과 같은 조건이 성립합니다.같은 하위 배열 내에서는 두 객체가 동일한 키를 가질 수 없습니다.모든 하위 배열은 서로 같은

  16. JavaScript 배열에서 가장 작은 숫자 제거하기

    JavaScript 배열에서 가장 작은 숫자 제거하기숫자로 이루어진 배열을 인자로 받아, 배열 안에서 가장 작은 요소를 찾아 제자리(in-place)에서 제거하는 JavaScript 함수를 작성해야 합니다. 여기서 제자리 제거란 새로운 배열을 만드는 것이 아니라, 원본 배열 자체를 직접 수정한다는 의미입니다.이를 구현한 코드는 다음과 같습니다 −const arr = [2, 1, 3, 2, 4, 5, 1]; const removeSmallest = arr => {    const smallestCre

  17. JavaScript로 문장 속 대문자 단어를 찾아 앞에 문자를 추가하는 방법

    JavaScript로 문장 속 대문자 단어를 찾아 앞에 문자 추가하기다음과 같이 여러 개의 대문자로 시작하는 단어가 포함된 문자열이 있다고 가정해 보겠습니다.const str = "Connecting to server Connection has been successful We found result";우리가 작성해야 할 함수는 이러한 문자열을 입력받아, 문자열 안에서 모든 대문자 바로 앞의 공백에 쉼표(,)를 삽입하는 JavaScript 코드입니다.정규 표현식을 활용한 해결 방법이 문제는 정규 표현식(RegExp

  18. JavaScript로 숫자를 영어 서수(Ordinal Number)로 변환하기

    이번 글에서는 숫자를 입력받아 해당 숫자에 대응하는 영어 서수(ordinal number)를 문자열로 반환하는 JavaScript 함수를 작성해 보겠습니다.예시3 → 3rd영어 서수 접미사 규칙영어 서수는 다음과 같은 규칙에 따라 접미사가 결정됩니다.일의 자리가 1이고, 마지막 두 자리가 11이 아닌 경우 → st (예: 1st, 21st)일의 자리가 2이고, 마지막 두 자리가 12가 아닌 경우 → nd (예: 2nd, 22nd)일의 자리가 3이고, 마지막 두 자리가 13이 아닌 경우 → rd (예: 3rd, 23rd)그 외의 모든

  19. JavaScript 재귀 함수로 배열의 최솟값 찾기

    재귀를 활용한 최솟값 찾기이 글에서는 숫자로 이루어진 배열을 입력받아 재귀(recursion)를 사용해 그중 가장 작은 수를 반환하는 JavaScript 함수를 만들어 보겠습니다.재귀란 함수가 자기 자신을 다시 호출하는 프로그래밍 기법으로, 반복문을 사용하지 않고도 배열을 하나씩 줄여가며 문제를 해결할 수 있습니다.예제 배열다음과 같은 두 개의 배열이 있다고 가정해 보겠습니다.const arr1 = [-2, -3, -4, -5, -6, -7, -8]; const arr2 = [-2, 5, 3, 0];첫 번째 배열의 최솟값은 -8,

  20. JavaScript로 정렬된 배열에서 첫 번째 고유 요소 찾는 방법

    문제 상황알고리즘 문제를 풀다 보면 정렬된 배열에서 중복되지 않은 값을 효율적으로 찾아야 하는 경우가 자주 있습니다. 예를 들어 다음과 같이 오름차순으로 정렬된 숫자 배열이 있다고 가정해 보겠습니다.const arr = [32, 32, 63, 63, 63, 75, 75, 86, 87, 88, 89];여기서 우리가 해결해야 할 과제는 다음과 같습니다.배열을 인자로 받아 첫 번째 고유한(중복 없이 한 번만 등장하는) 숫자를 반환하는 JavaScript 함수를 작성한다.만약 고유한 숫자가 하나도 존재하지 않는다면 false를 반환한다.위

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