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

JavaScript

  1. JavaScript로 문자열이 반복된 부분 문자열의 조합인지 확인하는 방법

    문제 상황문자열을 인수로 하나 받아서, 해당 문자열이 자신의 일부분(부분 문자열)을 여러 번 반복하여 이어 붙인 형태인지 판별하는 JavaScript 함수를 작성해야 합니다.예를 들어 함수의 입력이 다음과 같다면 −const str = thisthisthisthis;출력 결과는 다음과 같아야 합니다 −const output = true;출력 설명thisthisthisthis라는 문자열은 this라는 부분 문자열을 네 번 반복해서 이어 붙인 것이기 때문에 결과는 true가 됩니다. 반면 abcdab처럼 동일한 패

  2. JavaScript에서 문자 빈도순으로 문자열 정렬하는 방법

    문제 정의JavaScript 함수를 작성해야 합니다. 이 함수는 문자열을 유일한 인수로 받아, 원본 문자열을 기반으로 새로운 문자열을 생성합니다.새로운 문자열은 등장 횟수가 많은 문자부터 내림차순 빈도 순서대로 배치되어야 합니다.예를 들어, 함수에 다음과 같은 입력이 주어진다면 −const str = free;출력 결과는 다음과 같아야 합니다 −const output = eefr;출력 설명문자 e는 두 번 등장하므로 가장 앞에 배치되고, 그 뒤를 한 번씩 등장한 r과 f가 따라옵니다.구현 예제이 문제를 해결하는

  3. 자바스크립트 이진 탐색 트리(BST)에서 원하는 노드 삭제하기

    문제 상황다음은 이진 탐색 트리(Binary Search Tree) 자료구조를 생성하고 노드를 삽입하는 기능을 제공하는 코드입니다.class Node{    constructor(data) {        this.data = data;        this.left = null;       &

  4. JavaScript 이진 탐색으로 하위 배열 분할 시 최대 합계 최소화하기

    문제 소개음이 아닌 정수로 구성된 배열 arr을 첫 번째 인수로, 정수 num(num < arr.length)을 두 번째 인수로 받는 JavaScript 함수를 작성해야 합니다.함수의 임무는 배열을 비어 있지 않은 연속된 하위 배열 num개로 분할하는 것입니다. 단, 분할은 num개의 하위 배열 중 가장 큰 합이 최소가 되도록 수행해야 하며, 함수는 그 결과로 얻어진 하위 배열들 중 최대 합을 반환해야 합니다.예를 들어, 함수에 다음과 같이 입력이 주어졌다고 가정해 보겠습니다.const arr = [5, 1, 4, 8, 7];

  5. 자바스크립트로 이진 탐색 트리(BST)의 왼쪽 리프 노드 합 구하기

    문제 개요 이진 탐색 트리(Binary Search Tree, BST)의 루트 노드를 유일한 인수로 받아, 왼쪽 리프(left leaf) 노드에 저장된 값들의 합을 계산하는 자바스크립트 함수를 작성해 보겠습니다. 여기서 왼쪽 리프란 부모 노드의 왼쪽 자식이면서 동시에 자신은 자식 노드가 없는(리프) 노드를 의미합니다. 예시 다음과 같은 형태의 트리가 있다고 가정해 봅시다. 8 / \ 1 10 / \ 5 17 이때 기대하는 출력 결과는 다음과 같습니다. const output

  6. JavaScript로 n개의 자릿수를 제거해 가장 작은 숫자 만들기

    문제 정의두 개의 값을 인수로 받는 JavaScript 함수를 작성해야 합니다. 첫 번째 인수는 숫자 문자열 m, 두 번째 인수는 제거할 자릿수 개수 n입니다.함수의 목표는 숫자 m에서 n개의 자릿수를 제거하여, 제거 후 남은 숫자가 가능한 한 가장 작은 값이 되도록 만드는 것입니다. 그리고 최종적으로 자릿수를 제거한 결과를 반환해야 합니다.예를 들어, 함수의 입력이 다음과 같다면 −const m = 45456757;const n = 3;출력은 다음과 같아야 합니다 −const output = 44557;출력

  7. JavaScript 배열에서 중복 값의 무작위 인덱스 선택하기

    문제 상황JavaScript로 다음과 같은 함수를 작성해야 합니다.첫 번째 인수로 숫자 배열 arr을 받습니다. 이 배열에는 중복된 값이 포함될 수 있습니다. 두 번째 인수로는 배열에 실제로 존재하는 정수 하나를 받습니다.함수는 해당 숫자가 배열에 존재하는 인덱스를 반환해야 합니다. 단, 그 숫자가 배열에 여러 번 등장할 수 있기 때문에, 가능한 인덱스들 중에서 무작위로 하나를 골라 반환해야 합니다.입력 예시const arr = [5, 3, 6, 7, 3, 4, 2, 3];const num = 3;출력 예시const output =

  8. JavaScript로 숫자를 1까지 줄이는 최소 연산 횟수 구하기

    문제 정의숫자 num을 유일한 인자로 받는 JavaScript 함수를 작성해야 합니다.함수가 사용할 수 있는 연산은 다음 두 가지뿐입니다.num이 짝수라면, num을 num / 2로 대체할 수 있습니다.num이 홀수라면, num을 num + 1 또는 num - 1 중 하나로 대체할 수 있습니다.이 두 연산만 조합하여 숫자를 1로 만들 때 필요한 최소 연산 횟수를 계산하고, 그 값을 반환해야 합니다.예시입력이 다음과 같다고 가정해 보겠습니다.const num = 7;그렇다면 출력은 다음과 같아야 합니다.const output = 4;

  9. JavaScript 슬라이딩 윈도우 중앙값 구하기 — 이진 탐색으로 효율적으로 풀기

    중앙값(Median)이란?중앙값은 수학에서 정렬된(오름차순으로 정렬된) 숫자 목록의 가운데 값을 의미합니다.만약 목록의 크기가 짝수라면 정확한 가운데 값이 존재하지 않습니다. 이 경우 중앙값은 가운데 두 값의 평균으로 정의됩니다.문제 정의정수 배열 arr를 첫 번째 인자로, 숫자 num(num <= arr.length)을 두 번째 인자로 받는 JavaScript 함수를 작성해야 합니다.배열 arr에서 크기가 num인 각각의 윈도우(window)에 대해 중앙값을 계산하고, 그 결과를 새로운 배열에 차례대로 담아 마지막에 반환하면

  10. JavaScript로 0과 1 개수 제한 안에서 만들 수 있는 문자열 최대 개수 구하기

    0과 1로만 구성된 문자열 배열이 주어졌을 때, 제한된 개수의 0과 1만 사용해서 만들 수 있는 문자열의 최대 개수를 구하는 문제는 코딩 테스트에 자주 등장하는 동적 계획법(DP) 유형입니다. 이번 글에서는 JavaScript로 이 문제를 해결하는 방법을 단계별로 살펴보겠습니다. 문제 정의 첫 번째 인수로는 0과 1로만 이루어진 문자열 배열 arr을, 두 번째와 세 번째 인수로는 숫자 m과 n을 각각 받는 JavaScript 함수를 작성해야 합니다. 함수의 목표는 배열에 있는 문자열 중에서 0을 최대 m개, 1을 최대 n개까지만

  11. JavaScript로 문자열 인코딩하기: 반복 패턴 압축으로 크기 줄이기

    문제 정의문자열 str을 유일한 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 입력받은 문자열을 특정 규칙에 따라 인코딩한 뒤, 그 결과의 길이와 원본 문자열의 길이를 비교하여 더 짧은 쪽을 반환해야 합니다.인코딩 규칙문자열을 인코딩하는 규칙은 다음과 같습니다.n[s] 형태로 표현하며, 대괄호 안의 문자열 s가 정확히 n번 반복된다는 의미입니다.예를 들어 ddd는 3[d]로 인코딩할 수 있습니다. 하지만 3[d]는 길이가 4인 반면 원본 ddd는 길이가 3에 불과합니다. 따라서 이 경우에는 인코딩하지 않고 원본

  12. JavaScript로 볼록 다각형(Convex Polygon) 판별하기

    볼록 다각형(Convex Polygon)이란?볼록 다각형은 모든 내각이 180°보다 작은 다각형을 의미합니다. 직관적으로 말하면, 다각형의 어떤 변을 연장했을 때 그 선이 다각형의 내부를 가로지르지 않는 형태를 뜻합니다.문제 정의좌표 배열을 입력받는 JavaScript 함수를 작성해야 합니다. 배열의 각 요소는 정확히 두 개의 숫자를 담고 있는 하위 배열이며, 이는 2차원 평면 위의 한 점을 나타냅니다.이 함수는 주어진 점들이 순서대로 이루어진 다각형이 볼록 다각형인지 판별하고, 볼록 다각형이라면 true를, 그렇지 않다면 fals

  13. JavaScript random7() 함수로 random10() 구현하기

    문제 정의다음과 같은 자바스크립트 화살표 함수가 있다고 가정해 보겠습니다.const random7 = () => Math.ceil(Math.random() * 7);이 함수는 호출할 때마다 1 이상 7 이하의 정수 난수를 반환합니다. 즉, 0은 제외하고 7까지 포함하는 범위의 값을 얻습니다.요구 사항은 별도의 라이브러리나 외부 도구 없이 오직 이 random7() 함수만을 사용해, 1 이상 10 이하의 난수를 반환하는 random10() 함수를 작성하는 것입니다. 함수는 인자를 받지 않으며, 자바스크립트 내장 난수 생성기나 서

  14. JavaScript로 무한 순환 문자열에서 고유한 부분 문자열 개수 구하기

    문제 이해하기문자열 abcdefghijklmnopqrstuvwxyz를 끝없이 반복해서 이어 붙인 무한 순환 문자열 S가 있다고 가정해 봅시다. 그러면 S는 다음과 같은 형태가 됩니다....zabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcd....우리가 작성해야 할 JavaScript 함수는 임의의 문자열 str을 인수로 하나 받아서 다음을 수행해야 합니다.str의 비어 있지 않은 부분 문자열 중에서 S에 실제로 존재하는 것들을 찾습니다.이때 서로 다른(고유한) 부분 문자열의 개수를

  15. JavaScript에서 CSS 속성의 현재 값 가져오는 방법 완벽 가이드

    JavaScript에서 요소에 적용된 CSS 속성의 실제 계산된 값을 확인해야 할 때가 있습니다. 이럴 때 사용하는 것이 바로 getComputedStyle() 메서드입니다. 이 메서드는 대상 요소에 적용된 모든 스타일 정보를 담고 있는 객체를 반환하며, 반환된 객체의 getPropertyValue() 메서드를 사용하면 원하는 CSS 속성의 현재 값을 손쉽게 읽어올 수 있습니다.기본 사용법getComputedStyle()은 다음과 같은 형태로 호출합니다.let style = window.getComputedStyle(element)

  16. JavaScript로 CSS 변수 읽고 쓰기 – getComputedStyle()과 setProperty() 완벽 가이드

    웹 개발에서 CSS 변수(CSS 사용자 지정 속성)를 동적으로 제어하면 테마 변경, 인터랙티브 효과 등을 손쉽게 구현할 수 있습니다. JavaScript에서는 다음 세 가지 핵심 메서드만 기억하면 됩니다. getComputedStyle() – 대상 요소에 적용된 모든 스타일 정보를 담고 있는 객체를 반환합니다. getPropertyValue() – 계산된 스타일 객체에서 원하는 속성 값을 가져올 때 사용합니다. setProperty() – CSS 변수의 값을 새로 지정하거나 변경할 때 사용합니다. 아래 예제들을 통해 CSS 변수

  17. JavaScript와 CSS로 구현하는 타이핑·삭제 효과 완벽 가이드

    CSS 애니메이션을 활용하면 JavaScript만으로도 타자기가 글자를 입력하고 지우듯 움직이는 타이핑(Typing) & 삭제(Deleting) 효과를 손쉽게 구현할 수 있습니다. 이 효과는 랜딩 페이지의 헤드라인, 포트폴리오 소개 문구 등에서 시각적인 몰입감을 더할 때 자주 활용됩니다.아래 예제에서는 여러 개의 단어를 순차적으로 한 글자씩 타이핑한 뒤, 다시 한 글자씩 삭제하고 다음 단어로 넘어가는 과정을 무한 반복합니다. 깜빡이는 커서(|)는 CSS @keyframes 애니메이션으로 표현했습니다.동작 원리typeNow()

  18. JavaScript로 텍스트 영역(textarea) 자동 확장 구현하기

    JavaScript를 활용하면 textarea(텍스트 영역) 요소가 입력된 내용의 양에 맞춰 높이가 자동으로 늘어나도록 만들 수 있습니다. 이 기법을 적용하면 사용자가 긴 문장을 입력할 때도 스크롤바 없이 전체 내용을 한눈에 확인할 수 있어 입력 경험이 크게 개선됩니다.구현 원리는 매우 간단합니다. input 이벤트가 발생할 때마다 요소의 scrollHeight, 즉 콘텐츠 전체의 실제 높이를 읽어온 뒤 그 값을 요소의 height 스타일에 그대로 적용하는 방식입니다. 아래 예제들을 통해 구체적인 구현 방법을 살펴보겠습니다.예제 1

  19. JavaScript로 점수 배열 기반 순위 계산하기

    문제 상황JavaScript 함수를 하나 작성해야 합니다. 이 함수는 숫자 배열 arr를 유일한 인자로 받으며, 배열에는 학생들이 취득한 점수가 들어 있습니다.함수는 점수 배열 arr를 기준으로 각 학생의 등수를 담은 새로운 배열을 만들어 반환해야 합니다. 즉, 점수가 높은 순서대로 순위가 매겨집니다.예를 들어 배열 arr에서 가장 높은 점수에 해당하는 위치의 출력 값은 1, 두 번째로 높은 점수는 2, 그다음은 3이 되는 식입니다.입력 예시const arr = [50, 47, 39, 32, 31];함수 실행 후 기대되는 결과는 다

  20. JavaScript로 원형 배열에서 다음 큰 요소 찾는 방법

    원형 배열(Circular Array)이란?배열의 마지막 요소 다음에 다시 첫 번째 요소가 오는 구조를 가진 배열을 흔히 원형 배열(circular array)이라고 부릅니다.물론 실제로 데이터를 이런 방식으로 저장하는 메커니즘이 존재하지는 않습니다. 데이터는 여전히 연속된 메모리 블록에 저장되며, 원형 배열은 현실적인 저장 방식이라기보다는 일종의 개념적 아이디어에 가깝습니다.문제 정의정수로 이루어진 원형 배열 arr를 유일한 인수로 받는 JavaScript 함수를 작성해야 합니다.이 함수는 원본 배열의 각 요소에 대응하는 다음 큰

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:27/297  20-컴퓨터/Page Goto:1 21 22 23 24 25 26 27 28 29 30 31 32 33