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

JavaScript

  1. JavaScript로 문장 배열에서 단어별 정확한 출현 횟수 세는 방법

    문제 상황JavaScript 개발을 하다 보면 두 개의 문자열 배열에서 특정 단어가 몇 번 등장하는지 정확하게 집계해야 하는 경우가 자주 있습니다. 예를 들어 다음과 같이 하나의 배열에는 이름(단어)들이, 다른 배열에는 문장들이 담겨 있다고 가정해 보겠습니다.const names = [jhon, parker]; const sentences = [ hello jhon, hello parker and parker, jhonny jhonny yes parker ];여기서 요구되는 것은 두 개의 문자열 배열을 인자로 받아, 첫

  2. Selenium에서 JavaScript 오류 캡처하는 방법

    Selenium에서 JavaScript 오류 캡처하기웹 자동화 테스트를 수행하다 보면 브라우저 콘솔에 출력되는 JavaScript 오류를 확인하고 검증해야 하는 경우가 있습니다. Selenium을 활용하면 이러한 오류를 코드로 손쉽게 캡처할 수 있습니다.JavaScript 오류는 브라우저에서 개발자 도구(Developer Tools)를 열었을 때 Console 탭에 표시됩니다. 이러한 오류는 페이지 자체의 기능적 문제 때문에 발생할 수도 있고, 불필요한 로그가 과도하게 쌓여 성능 저하를 일으키는 원인이 되기도 합니다. 따라서 테스트

  3. Selenium으로 JavaScript가 포함된 복잡한 페이지의 로딩 완료까지 기다리는 방법

    Selenium을 활용하면 JavaScript로 동작하는 복잡한 페이지도 완전히 로드될 때까지 기다린 뒤 자동화 작업을 진행할 수 있습니다. 핵심 원리는 간단합니다. 페이지 로드 후 JavaScript 메서드인 document.readyState를 실행하고, 반환값이 complete가 될 때까지 확인하는 것입니다. 문법 JavascriptExecutor js = (JavascriptExecutor)driver; js.executeScript(return document.readyState).toString().equals(compl

  4. JavaScript로 배열의 첫 번째 요소를 고정한 채 정수 배열 정렬하기

    이번 글에서는 숫자 배열을 입력받아 다음 조건에 따라 정렬하는 JavaScript 함수를 작성해 보겠습니다.배열의 첫 번째 요소(array[0])는 반드시 제자리에 유지되어야 합니다.첫 번째 요소보다 큰 값들이 있다면 그다음 순서로 배치합니다.나머지 값들은 가장 작은 정수부터 오름차순으로 정렬합니다.예제입력 배열이 다음과 같다고 가정해 보겠습니다.const arr = [10, 7, 12, 3, 5, 6];위 조건을 적용하면 출력 결과는 다음과 같습니다.const output = [10, 12, 3, 5, 6, 7];첫 번째 요소인

  5. JavaScript로 특정 수 미만의 3 또는 5의 배수 합계 구하기

    이번 글에서는 숫자 하나를 한계값(limit)으로 받아, 그 값 미만의 자연수 중에서 3 또는 5의 배수에 해당하는 모든 수의 합을 계산하는 JavaScript 함수를 작성해 보겠습니다.문제 이해하기예를 들어 한계값이 10이라면, 10 미만의 자연수 중 3 또는 5의 배수는 3, 5, 6, 9입니다.따라서 결과는 다음과 같습니다.3 + 5 + 6 + 9 = 23구현 방법가장 직관적인 접근 방식은 3부터 한계값 미만까지 반복문을 돌면서, 각 숫자가 3 또는 5로 나누어 떨어지는지 확인한 뒤 조건을 만족하면 합계에 더하는 것입니다.예제

  6. JavaScript로 특정 한계값 이하의 짝수 피보나치 수 합 구하기

    이번 글에서는 숫자 하나를 한계값(limit)으로 받아, 그 값보다 작은 피보나치 수 중 짝수에 해당하는 항들만 골라 합산한 결과를 반환하는 JavaScript 함수를 만들어 보겠습니다.문제 이해하기피보나치 수열은 첫 두 항이 0과 1이며, 그 뒤의 모든 항은 바로 앞의 두 항을 더한 값으로 이루어집니다. 즉, 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ... 와 같은 형태로 진행됩니다.여기서 우리가 원하는 것은 이 수열 중에서 짝수인 항만 추출하여, 주어진 한계값을 넘지 않는 범위 내에서 모두 더하는 것입니다.예시

  7. JavaScript로 절댓값 합 최소화하기: 최적의 정수 x 찾기

    문제 정의 정렬된 정수 배열 arr이 주어졌다고 가정해 봅시다. 우리가 찾아야 하는 것은 다음 식의 값을 최소로 만드는 정수 x입니다. abs(a[0] - x) + abs(a[1] - x) + ... + abs(a[a.length - 1] - x) 여기서 abs는 절댓값을 의미합니다. 조건을 만족하는 답이 여러 개라면, 그중 가장 작은 값을 출력해야 합니다. 예시로 이해하기 다음 배열이 주어졌을 때, arr = [2, 4, 7] 출력 결과는 다음과 같습니다. absoluteValuesSumMinimization(arr) = 4 a

  8. JavaScript에서 문자열 메서드와 배열 없이 정수 자릿수 정렬하기

    이번 글에서는 숫자 하나를 인자로 받아, 그 숫자의 자릿수를 재배열하여 만들 수 있는 가장 작은 수를 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 입력값이 다음과 같다면,const num = 614532;출력 결과는 아래와 같아야 합니다.const output = 123456;제약 조건여기서 중요한 조건은 문자열(String) 메서드를 사용할 수 없고, 데이터를 저장하기 위해 배열도 사용할 수 없다는 점입니다. 즉, 순수한 산술 연산만으로 자릿수를 정렬해야 합니다.해결 아이디어핵심 접근 방식은 다음과 같습니다.1

  9. JavaScript로 한 자리 숫자가 될 때까지 자릿수 반복 합산하기

    문제 이해하기숫자 하나를 입력받아 각 자릿수를 계속 더하고, 그 결과가 한 자리 숫자가 될 때까지 반복하는 JavaScript 함수를 작성해야 합니다.예를 들어, 다음과 같은 숫자가 주어졌다고 가정해 보겠습니다.const num = 5798;자릿수 합산 과정은 다음과 같습니다.5 + 7 + 9 + 8 = 292 + 9 = 111 + 1 = 2따라서 최종 출력값은 2가 됩니다.구현 방법이 문제는 재귀 함수를 사용하면 깔끔하게 해결할 수 있습니다. 먼저 숫자의 각 자릿수를 더하는 함수를 만들고, 그 결과가 아직 두 자리 이상이라면 합산

  10. JavaScript로 배열에서 음수 짝이 존재하는 양수만 골라내는 방법

    이번 글에서는 양수와 음수가 섞여 있는 숫자 배열을 입력받는 JavaScript 함수를 작성해 보겠습니다.이 함수의 목표는 배열 안에서 서로 부호만 다른 짝(양수와 그에 대응하는 음수)이 모두 존재하는 값만 골라내어 새로운 배열로 반환하는 것입니다.예를 들어, 입력 배열이 다음과 같다고 가정해 봅시다.const arr = [1, 5, -3, -5, 3, 2];여기서 5와 -5, 3과 -3은 서로 짝을 이루지만, 1과 2에는 대응하는 음수가 없습니다. 따라서 기대되는 출력 결과는 다음과 같습니다.const output = [5, 3]

  11. JavaScript로 음수 없이 배열에서 값 균등하게 빼는 방법

    정수 배열이 있고, 이 배열 요소들의 합에서 특정 값을 빼야 하는 상황을 생각해 보겠습니다.예를 들어 다음과 같습니다.[4, 5, 6, 7, 8] − 25모든 숫자에서 균등하게 값을 빼면 아래와 같은 결과가 나옵니다.[−1, 0, 1, 2, 3]하지만 우리는 0보다 작은 숫자가 결과에 포함되는 것을 원하지 않습니다.따라서 이 문제를 해결하는 알고리즘을 작성한다면, 음수가 된 만큼의 값은 남아 있는 양수들에게 균등하게 분배되어야 합니다. 그러면 상태는 다음과 같이 변합니다.[0, 0, 1, 2, 3] &minus

  12. JavaScript로 1~9 숫자를 활용해 합이 n이 되는 m개의 고유 조합 찾기

    문제 이해하기이 함수는 1부터 9 사이의 숫자만 사용하여, 서로 다른 m개의 숫자를 더했을 때 그 합이 정확히 n이 되는 모든 가능한 조합을 찾아야 합니다. 각 조합은 중복 없는 고유한 숫자 집합으로 구성되어야 하며, 하나의 조합 안에서 같은 숫자가 두 번 등장해서는 안 됩니다.예를 들어 입력값이 다음과 같다면 −const m = 3, n = 4;출력 결과는 다음과 같습니다 −const output = [    [1, 2, 4] ];또 다른 예시로, 입력값이 다음과 같은 경우 &min

  13. JavaScript로 단어를 자르지 않고 문자열을 고정 길이 블록으로 분할하는 방법

    문단 전체 텍스트를 담은 문자열을 첫 번째 인수로, 원하는 청크(chunk) 크기를 숫자로 두 번째 인수로 받는 JavaScript 함수를 작성해 보겠습니다.이 함수는 다음과 같은 동작을 수행해야 합니다.문자열을 두 번째 인수로 전달된 크기를 넘지 않는 길이의 청크 단위로 분할합니다.분할 지점은 반드시 공백(whitespace)이나 문장의 끝이어야 하며, 단어 중간에서 잘리면 안 됩니다.예시예를 들어 입력 문자열과 청크 크기가 다음과 같다면,const str = this is a string;const chunkLength = 6;

  14. JavaScript로 n 이하의 모든 배수 합 구하기

    문제 소개이번 글에서는 첫 번째 인수로 숫자 n을 받고, 그 뒤로 임의 개수의 숫자 인수를 추가로 전달받는 JavaScript 함수를 작성해 보겠습니다.함수의 목표는 1부터 n까지의 숫자 중에서, 두 번째 인수 이후로 지정된 숫자들 중 하나라도 나누어 떨어지는 모든 수의 합을 구하는 것입니다.예를 들어 함수를 다음과 같이 호출했다고 가정해 보겠습니다.sumMultiples(15, 2, 3);그렇다면 기대하는 출력 결과는 다음과 같습니다.const output = 83;그 이유는 1부터 15 사이에서 2 또는 3으로 나누어 떨어지는

  15. JavaScript로 구현하는 '제곱의 합'과 '합의 제곱'의 차이 계산 방법

    자연수 n 하나만을 입력으로 받아 다음 작업을 수행하는 JavaScript 함수를 작성해야 합니다.처음 n개의 자연수에 대한 제곱의 합(sum of squares)을 계산합니다.처음 n개의 자연수의 합의 제곱(square of sums)을 계산합니다.두 값의 절댓값 차이를 반환합니다.예시로 살펴보기n = 5라고 가정해 보겠습니다.제곱의 합 = 1² + 2² + 3² + 4² + 5² = 1 + 4 + 9 + 16 + 25 = 55 합의 제곱 = (1 + 2 + 3 + 4 + 5)² = 15 × 15 = 225따라서 최종 출력은 22

  16. JavaScript에서 쉼표로 구분된 단어의 알파벳을 병합해 정렬된 문자열 만들기

    다음과 같이 쉼표로 구분된 단어 문자열이 있다고 가정해 보겠습니다. const str = JAY, ROB; 우리는 이러한 문자열을 입력받아 처리하는 JavaScript 함수를 작성해야 합니다. 이 함수는 문자열에 포함된 단어들의 알파벳을 서로 비교하여, 매 순간 선택 가능한 글자 중 사전순으로 가장 앞서는 문자를 차례대로 이어 붙여 새로운 단어를 만듭니다. 예를 들어 위 문자열에서는 먼저 JAY의 첫 번째 글자와 ROB의 첫 번째 글자를 비교합니다. J가 R보다 사전순으로 앞서므로 새 단어의 첫 번째 알파벳은 J가 됩니다. 다음으

  17. 자바스크립트(JavaScript)로 문자열을 원형으로 왼쪽·오른쪽 이동시키는 방법

    자바스크립트에서는 문자열 하나와 두 개의 숫자를 인수로 받아, 지정된 횟수만큼 문자열을 원형(circular)으로 회전시키는 함수를 작성할 수 있습니다. 첫 번째 인수는 대상 문자열(str), 두 번째와 세 번째 인수는 각각 왼쪽 시프트 횟수(m)와 오른쪽 시프트 횟수(n)를 의미합니다. 왼쪽 시프트(Left Shift)란? 왼쪽 시프트는 문자열을 한 칸 원형으로 회전하는 연산으로, 첫 번째 문자가 맨 뒤로 이동하고 나머지 모든 문자는 한 인덱스씩 왼쪽으로 밀리는 것을 말합니다. 예를 들어 abcde는 왼쪽 시프트를 한 번 수행

  18. JavaScript로 양의 정수를 로마 숫자로 변환하는 프로그램 작성하기

    이 글에서는 양의 정수(10진수)를 입력받아 해당하는 로마 숫자 표기법으로 변환하여 반환하는 JavaScript 함수를 작성해 보겠습니다.로마 숫자는 기본 기호 I, V, X, L, C, D, M을 조합하여 숫자를 표현합니다. 4, 9, 40, 90, 400, 900처럼 작은 수가 큰 수 앞에 오는 경우는 뺄셈 표기법을 사용하므로, 이러한 규칙을 미리 매핑 테이블로 정의해 두면 변환 로직을 간단하게 만들 수 있습니다.1. 로마 숫자 매핑 테이블 정의먼저 자릿수별 값과 그에 대응하는 로마 숫자를 객체 형태로 정의합니다. 이 테이블은

  19. 자바스크립트에서 숫자 가중치(자릿수 합) 기준으로 배열 정렬하기

    숫자의 가중치란 무엇인가?숫자의 가중치(weight)란 해당 숫자를 구성하는 모든 자릿수의 합을 의미합니다. 몇 가지 예시로 쉽게 이해할 수 있습니다.100의 가중치 → 1 + 0 + 0 = 122의 가중치 → 2 + 2 = 499의 가중치 → 9 + 9 = 18123의 가중치 → 1 + 2 + 3 = 6문제 요구사항숫자로 이루어진 배열을 입력받아 다음 규칙에 따라 정렬하는 자바스크립트 함수를 작성해 보겠습니다.모든 숫자를 가중치 기준 오름차순으로 정렬한다.가중치가 서로 같은 숫자가 있다면, 실제 값 기준 오름차순으로 배치한다.예를

  20. JavaScript로 공백으로 구분된 문자열의 요소 빈도수 계산하기

    JavaScript에서 공백으로 구분된 문자열이 주어졌을 때, 각 요소(문자)가 몇 번 등장하는지 계산해야 하는 경우가 자주 있습니다. 예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.const str = a b c d a v d e f g q;여기서 우리는 이러한 문자열을 입력으로 받아, 각 문자와 그 등장 횟수를 담은 객체 배열(빈도 배열)을 반환하는 JavaScript 함수를 작성해야 합니다. 결과는 빈도수가 높은 순서대로 정렬하면 더 유용합니다.구현 방법핵심 아이디어는 다음과 같습니다.문자열을 split( )으로 분

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