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

JavaScript

  1. JavaScript로 두 문자열에서 공통되지 않은 문자를 찾아 반환하는 방법

    문제 정의두 개의 문자열을 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수의 목표는 두 문자열 중 어느 한쪽에만 존재하고 양쪽에 공통으로 나타나지 않는 문자들만 모아 새로운 문자열로 반환하는 것입니다.예를 들어, 첫 번째 문자열에만 있는 문자와 두 번째 문자열에만 있는 문자를 모두 수집하되, 두 문자열 모두에 등장하는 문자는 제외해야 합니다.해결 접근 방식가장 직관적인 방법은 다음과 같습니다.1. 첫 번째 문자열을 순회하면서 각 문자가 두 번째 문자열에 존재하는지 확인합니다.2. 존재하지 않는 문자라면 결과 배열에

  2. JavaScript로 허수 단위 i의 n제곱 값 구하기

    문제 이해하기이번 글에서는 숫자 하나를 입력받아 허수 단위 i의 n제곱 값을 반환하는 JavaScript 함수를 작성해 보겠습니다.여기서 허수 단위 i는 다음과 같이 정의됩니다.i = √(-1)허수의 거듭제곱은 아래와 같은 규칙적인 패턴을 따릅니다.i¹ = ii² = -1i³ = -ii⁴ = 1핵심 아이디어: 4주기 패턴 활용i의 거듭제곱은 4번마다 동일한 값으로 순환합니다. 즉, 지수가 아무리 커져도 4로 나눈 나머지만 확인하면 결과를 바로 알 수 있습니다.n % 4 === 0 → 결과는 1n % 4 === 1 → 결과는 in %

  3. JavaScript로 문장 속 각 단어의 숫자를 기준으로 문자열 정렬하기

    문제 개요이번 글에서는 하나의 문장을 나타내는 문자열을 입력받아 정렬된 결과를 반환하는 JavaScript 함수를 작성해 보겠습니다.입력 문자열의 각 단어에는 하나의 정수가 포함되어 있습니다. 함수는 가장 작은 숫자를 포함한 단어가 맨 앞에 오도록 배치하고, 이후에는 숫자가 커지는 순서(오름차순)대로 단어들을 정렬해야 합니다.예제 코드다음은 위 문제를 해결하는 전체 코드입니다.const str = "is2 Thi1s T4est 3a";const sortByNumber = (str = ) => { &n

  4. JavaScript로 한 배열의 요소가 다른 배열에 등장하는 빈도 구하기

    문제 정의두 개의 문자열 배열을 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 두 번째 배열에 포함된 각 문자열이 첫 번째 배열 안에 몇 번 등장하는지 계산한 뒤, 그 결과를 배열 형태로 반환해야 합니다.코드 예제다음은 중첩 반복문을 활용해 각 문자열의 등장 횟수를 세는 구현 예시입니다.const arr1 = [abc, abc, xyz, cde, uvw];const arr2 = [abc, cde, uap]; {  const res = [];  let count = 0;&nbs

  5. JavaScript로 숫자를 소수의 거듭제곱 곱 형태로 표현하는 방법

    문제 정의 양의 정수 하나를 입력받아, 해당 숫자를 소수들의 거듭제곱 곱으로 분해한 결과를 지정된 형식의 문자열로 반환하는 JavaScript 함수를 작성하는 것이 목표입니다. 숫자 n이 주어졌을 때 함수는 아래와 같은 형태의 문자열을 반환해야 합니다. n = (p1**n1)(p2**n2)...(pk**nk) 여기서 p1, p2, ..., pk는 소수이고, n1, n2, ..., nk는 각 소수의 지수(거듭제곱 횟수)입니다. ** 기호는 거듭제곱을 나타냅니다. 접근 방법: 소인수분해 이 문제의 핵심은 소인수분해(prime fact

  6. JavaScript로 두 배열 문자열 길이의 최대 절대 차이 구하기

    문제 설명두 개의 문자열 배열 a1과 a2를 입력받는 JavaScript 함수를 작성해야 합니다. 각 문자열은 알파벳 소문자 a부터 z까지만으로 구성되며, x는 첫 번째 배열의 임의의 문자열, y는 두 번째 배열의 임의의 문자열이라고 가정합니다.함수는 다음 값을 찾아 반환해야 합니다.max(abs(length(x) − length(y)))즉, 두 배열에 속한 모든 문자열 쌍 (x, y)에 대해 길이 차이의 절댓값을 계산한 뒤, 그중 가장 큰 값을 구하는 문제입니다.접근 방법모든 문자열 조합을 일일이 비교하면 O(n×m)의 시간이 필

  7. JavaScript로 문자열의 각 문자를 1 기반 인덱스 횟수만큼 반복하는 방법

    문제 정의영어 소문자 알파벳으로 구성된 문자열을 입력받아 처리하는 JavaScript 함수를 작성해야 합니다.이 함수는 새로운 문자열을 생성해야 하는데, 규칙은 다음과 같습니다.각 문자를 해당 문자의 1 기반(1-based) 인덱스 번호만큼 반복합니다. 즉, 첫 번째 문자는 1번, 두 번째 문자는 2번, 세 번째 문자는 3번 반복됩니다. 반복된 문자열의 첫 글자는 대문자로 변환하고, 서로 다른 문자 그룹 사이에는 대시(-)로 구분합니다.예를 들어, 문자열 abcd가 주어지면 결과는 다음과 같습니다.A-Bb-Ccc-Dddd해결 코드

  8. JavaScript로 배열에서 짝이 없는 숫자 찾기: 양수·음수 대응이 없는 유일한 값 구하기

    문제 소개정수로 이루어진 배열을 입력받는 JavaScript 함수를 작성해야 합니다. 이 배열에는 각 숫자마다 부호만 반대인 짝, 즉 절댓값이 같고 양수 또는 음수 형태인 숫자가 함께 존재하지만, 단 하나의 숫자만은 그 짝이 배열 안에 없습니다.우리가 만들 함수는 바로 이 짝이 없는 숫자를 찾아 반환해야 합니다.해결 아이디어핵심은 reduce() 메서드를 활용하는 것입니다. 배열의 모든 요소를 더하면 짝을 이루는 숫자들은 서로 상쇄되어 0이 되고, 결국 마지막에 남는 값은 짝이 없는 숫자 하나뿐입니다. 동시에 양수와 음수의 개수 차

  9. JavaScript로 수열의 n번째 항 계산하기 – 관계식에서 일반항 유도하기

    문제 정의하나의 숫자 n을 입력받아, 아래 조건을 만족하는 수열 u의 n번째 항 un을 구하는 JavaScript 함수를 작성해야 합니다.수열 u는 다음과 같이 정의되며,u0 = 0, u1 = 2모든 항에 대해 다음 관계식을 만족합니다.6unun+1 − 5unun+2 + un+1un+2 = 0접근 방법: 일반항 유도하기식 자체는 복잡해 보이지만, 수열이 기하급수적으로 증가한다고 가정하면 쉽게 풀립니다. un = rn이라 놓고 관계식에 대입해 보겠습니다.6·rⁿ·rⁿ⁺¹ − 5·rⁿ·rⁿ⁺² + rⁿ⁺¹·rⁿ⁺² = r²ⁿ⁺¹(r²

  10. JavaScript로 배열을 두 부분으로 나누는 모든 경우의 수 구하기

    문제 정의JavaScript에서 최소 두 개 이상의 요소를 가진 문자열 배열을 입력받아, 해당 배열을 두 개의 비어 있지 않은 부분으로 나누는 모든 방법을 반환하는 함수를 작성해야 합니다.예를 들어, 다음과 같은 배열이 주어졌을 때 −[az, toto, picaro, zone, kiwi]가능한 모든 분할 결과는 다음과 같습니다 −(az, toto picaro zone kiwi)(az toto, picaro zone kiwi)(az toto picaro, zone kiwi)(az toto picaro zone,

  11. JavaScript로 배열에서 연속된 숫자 쌍의 개수 구하기

    문제 이해하기정수로 이루어진 배열을 입력받아, 배열 안에서 연속된 숫자(1씩 차이 나는 수)로 이루어진 인접 쌍의 개수를 반환하는 JavaScript 함수를 작성해야 합니다.여기서 연속된 숫자란 두 수의 차이가 정확히 1인 경우를 의미합니다. 예를 들어 (1, 2), (-4, -3), (7, 6)처럼 서로 1만큼 차이 나는 쌍을 찾아 그 개수를 세면 됩니다.예제 코드const arr = [1, 2, 5, 8, -4, -3, 7, 6, 5]; {  let count = 0;  for (let i =

  12. JavaScript로 문자열에서 특정 문자의 최장 연속 등장 횟수 구하기

    문제 설명첫 번째 인자로 문자열을, 두 번째 인자로 단일 문자 하나를 받는 JavaScript 함수를 작성해야 합니다.이 함수는 지정된 문자가 문자열 안에서 연속적으로 나타나는 가장 긴 횟수를 세어 그 값을 반환해야 합니다.예제 코드다음은 전체 구현 코드입니다.const str = abcdaaadse;const char = a;const countChars = (str = , char = ) => {    const arr = str.split();    

  13. JavaScript로 특정 범위 내 거꾸로 숫자(Upside Down Numbers) 개수 구하기

    거꾸로 숫자(Upside Down Numbers)란? 숫자를 180도 회전했을 때 원래 값 그대로 유지되는 수를 거꾸로 숫자(Upside Down Numbers)라고 합니다. 대표적인 예로 9116과 69가 있으며, 두 숫자 모두 거꾸로 뒤집어도 동일하게 읽힙니다. 자릿수별 회전 규칙은 다음과 같습니다. 0 → 0, 1 → 1, 8 → 8 : 회전해도 그대로 유지됩니다. 6 → 9, 9 → 6 : 서로 뒤바뀌며 회전됩니다. 2, 3, 4, 5, 7 : 회전 시 유효한 숫자가 되지 않으므로 거꾸로 숫자에 포함될 수 없습니다. 문

  14. JavaScript로 두 배열의 대응하는 요소에 콜백 함수 적용하기

    문제 상황JavaScript에서 다음과 같은 조건을 만족하는 함수를 작성해야 합니다.첫 번째 인수로는 두 개의 인수를 받아 하나의 값을 반환하는 콜백 함수를, 두 번째와 세 번째 인수로는 길이가 서로 같은 두 개의 배열을 전달받습니다.그리고 이 함수는 입력된 두 배열에서 대응하는 요소들을 콜백 함수에 각각 전달한 뒤, 그 반환값들로 구성된 새로운 배열을 만들어 반환해야 합니다.예제 코드다음은 위 문제를 해결하는 코드입니다 −const arr1 = [1, 2, 3, 4];const arr2 = [5, 6, 7, 8];con

  15. JavaScript에서 내장 함수 없이 ASCII 값으로 알파벳 문자 찾기

    문제 상황숫자를 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 해당 숫자에 대응하는 ASCII 알파벳 문자를 반환해야 하며, 만약 그 숫자가 알파벳에 해당하는 ASCII 값이 아니라면 -1을 반환합니다.여기서 중요한 조건은 String.fromCharCode() 같은 값을 변환하는 내장(빌트인) 함수를 사용할 수 없다는 점입니다.접근 방법ASCII 코드 체계에서 소문자 알파벳 a부터 z는 각각 97부터 122까지의 값에 대응하고, 대문자 A부터 Z는 65부터 90까지의 값에 대응합니다.따라서 입력된 숫자가 이

  16. JavaScript로 문자열에서 가장 긴 연속 모음 부분 문자열의 길이 구하기

    문제 정의문자열을 하나 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 오직 모음(a, e, i, o, u)으로만 이루어진 가장 긴 연속 부분 문자열(substring)의 길이를 반환해야 합니다.예를 들어 입력 문자열이 schooeal이라면, 중간에 있는 ooea가 연속된 모음 4개로 이루어져 있으므로 결과는 4가 됩니다.접근 방법가장 효율적인 해결 방법은 문자열을 한 번만 순회하는 선형 탐색(O(n))입니다. 다음 두 개의 변수를 활용합니다.cur: 현재 위치까지 이어지는 연속 모음의 개수max: 지금까지 발견

  17. JavaScript로 이진수의 인접한 비트를 교환하여 새로운 십진수 만들기

    문제 설명숫자를 하나 입력받는 JavaScript 함수를 작성해야 합니다.이 함수는 입력받은 숫자의 이진수 표현을 탐색하면서 인접한 두 비트를 서로 교환하여 새로운 이진수를 만들어야 합니다. 그리고 마지막으로, 새롭게 만들어진 이진수에 해당하는 십진수 값을 반환하면 됩니다.예를 들어, 숫자 13의 이진수 표현은 1101입니다. 인접한 비트를 두 개씩 짝지어 교환하면 1110이 되고, 이 값의 십진수 표현인 14가 최종 결과가 됩니다.예제 코드다음은 위 문제를 해결하는 코드입니다 −const num = 13; const s

  18. JavaScript로 범위 내 자릿수 제곱의 합이 1에 도달하는 소수 개수 구하기

    문제 이해하기 두 개의 숫자로 이루어진 범위 배열을 인수로 받는 JavaScript 함수를 작성해야 합니다. 함수는 해당 범위 안에서, 각 자릿수를 제곱해 더하는 과정을 반복했을 때 최종적으로 1에 도달하는 소수의 개수를 반환해야 합니다. 예를 들어 23은 소수이며, 다음 과정을 거쳐 1에 도달합니다. 22 + 32 = 13 12 + 32 = 10 12 + 02 = 1 따라서 23은 조건을 만족하는 유효한 숫자입니다. 이렇게 자릿수 제곱의 합을 반복 계산했을 때 1에 도달하는 수는 흔히 행복한 수(happy number)라고 부르며

  19. JavaScript로 문자 행렬과 인덱스 배열을 활용해 문자열 조합하기

    문제 정의n × n 크기의 문자 행렬(matrix)과 양의 고유 정수로 이루어진 배열을 입력받는 JavaScript 함수를 작성해야 합니다. 함수는 행렬의 문자들을 1부터 시작하는 인덱스(1-based index)로 펼쳤을 때, 주어진 숫자 배열에 해당하는 인덱스 위치의 문자들을 순서대로 이어 하나의 문자열을 만들어 반환해야 합니다.입력 예시문자 행렬:[ [a, b, c, d], [o, f, r, g], [h, i, e, j], [k, l, m, n]];숫자 배열:[1, 4, 5, 7, 11]위 입력에 대한 출력은 adore

  20. JavaScript에서 문자열을 지정된 길이까지만 자르는 방법

    문제 상황JavaScript로 문자열과 숫자를 입력받는 함수를 작성해야 합니다. 이 함수는 주어진 문자열을 지정된 길이까지만 잘라낸 뒤, 원본 문자열보다 짧아졌다면 끝에 "..."를 붙여 반환합니다. 만약 아무것도 잘리지 않았다면, 즉 문자열 길이가 지정한 길이 이하라면 원본 문자열을 그대로 반환하면 됩니다.이런 기능은 게시글 목록이나 카드 UI에서 긴 텍스트를 미리보기 형태로 보여줄 때 매우 유용하게 사용됩니다.예제 코드다음은 위 요구사항을 구현한 코드입니다.const str = Testing String; co

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:13/297  20-컴퓨터/Page Goto:1 7 8 9 10 11 12 13 14 15 16 17 18 19