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

JavaScript

  1. JavaScript로 두 숫자를 더할 때 발생하는 받아올림(Carry) 횟수 구하기

    문제 설명두 개의 숫자를 인자로 받는 JavaScript 함수를 작성해야 합니다.이 함수는 마치 종이 위에서 손으로 계산하듯 두 숫자를 더할 때, 받아올림(carry)이 몇 번 발생하는지 그 횟수를 세어 반환해야 합니다.예를 들어 179와 284를 더하는 과정을 살펴보겠습니다. 일의 자리에서 9 + 4 = 13이 되어 첫 번째 받아올림이 발생하고, 십의 자리에서 7 + 8 + 1(받아올림) = 16이 되어 두 번째 받아올림이 발생합니다. 따라서 이 두 숫자에 대해 함수는 2를 반환해야 합니다.예제 코드다음은 이 문제를 해결하는 Ja

  2. JavaScript로 합이 목표값이 되는 연속 숫자 쌍의 두 번째 숫자 제거하기

    문제 소개숫자 배열과 목표 합(target sum)을 입력으로 받는 JavaScript 함수를 작성해야 합니다.이 함수는 배열에서 인접한 두 숫자의 합이 목표 값과 일치하는 모든 쌍을 찾아내고, 해당 쌍의 두 번째 숫자를 결과에서 제거한 새로운 배열을 반환해야 합니다.예제 코드다음은 이 문제를 해결하는 코드입니다 −const arr = [1, 2, 3, 4, 5];const target = 3;const removeSecond = (arr = [], target = 1) => {   &nb

  3. JavaScript에서 같은 자릿수로 만든 바로 다음 큰 수 찾기

    문제 개요숫자 n을 입력받아, 같은 자릿수를 그대로 사용하면서 입력값보다 큰 수 중 가장 작은 수, 즉 바로 다음으로 큰 수를 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 입력 숫자가 112라면, 숫자 1, 1, 2를 재배열해 만들 수 있는 수 중 112보다 크면서 가장 작은 수는 121입니다. 따라서 출력 결과는 121이 되어야 합니다.해결 아이디어이 문제의 핵심은 같은 숫자로 만들 수 있는 최댓값을 기준으로 삼는 것입니다. 접근 방식은 다음과 같습니다.입력 숫자의 자릿수를 내림차순으로 정렬하면, 같은 숫자들로

  4. JavaScript로 두 단어의 첫 글자 서로 바꾸기

    문제 소개정확히 두 개의 단어로 이루어진 문자열을 입력받아, 각 단어의 첫 글자를 서로 맞바꾼 새로운 문자열을 만들어 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 hello world라는 문자열이 주어지면, hello의 첫 글자 h와 world의 첫 글자 w를 교환하여 wello horld를 결과로 반환하면 됩니다.해결 접근 방법이 문제는 다음과 같은 순서로 해결할 수 있습니다.split( ) 메서드를 사용해 문자열을 공백 기준으로 나누어 두 단어를 분리합니다.배열 구조 분해 할당을 활용해 각 단어를 변수에 담습니

  5. JavaScript로 두 숫자의 첫 자릿수를 교환한 후 차이 구하기

    문제 설명정확히 두 개의 숫자를 요소로 가지는 배열을 입력받아, 두 숫자의 첫 번째 자릿수를 서로 교환한 뒤 그 차이의 절댓값을 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 배열이 [105, 413]이라면 다음과 같습니다.첫 자릿수를 교환하면 각각 405와 113이 되며, 따라서 결과는 |405 - 113| = 292입니다.구현 예제다음은 이를 해결하는 코드입니다 −const arr = [105, 413]; const interchangedDigitDiff = (arr = []) => {  

  6. JavaScript에서 특수하게 정렬된 배열에서 대상 문자열 검색하기

    문제 소개JavaScript 함수를 작성해야 합니다. 이 함수는 검색할 단어인 target과 고유한 단어들로 구성된 배열을 입력받습니다. 배열은 다음 세 가지 기준으로 정렬되어 있습니다.길이 기준 오름차순대문자 개수 기준 내림차순자연 순서(natural order)그리고 이 배열에는 target 단어가 반드시 포함되어 있습니다. 함수의 임무는 단어 배열에서 target이 위치한 인덱스(0부터 시작)를 찾아 반환하는 것입니다.예시 코드다음은 해결 코드입니다 −const arr = [cP, rE, sZ, am, bt, ev,

  7. JavaScript로 두 수의 제곱합이 특정 값이 되는 쌍 [A, B] 찾기

    짝수 길이의 정수 배열 arr를 입력으로 받아, 특정 조건을 만족하는 두 숫자의 쌍을 찾아 반환하는 JavaScript 함수를 작성해야 합니다. 문제 이해하기 배열에서 인접한 두 요소씩 짝지어 각 쌍의 제곱합을 구하고, 그 값들을 모두 곱한 수를 num이라고 정의합니다 − num = (arr[0] * arr[0] + arr[1] * arr[1]) * (arr[2] * arr[2] + arr[3] * arr[3]) * … * (arr[n-2] * arr[n-2] + arr[n-1] * arr[n-1]) 여기서

  8. JavaScript로 기준점에 대한 한 점의 대칭점(반사점) 구하기

    대칭점(Point of Symmetry)이란?점 반사(point reflection) 또는 점 대칭(point symmetry)은 기하학의 가장 기본적인 개념 중 하나입니다. 중심점 Q를 기준으로 한 점 P가 주어졌을 때, Q까지의 거리는 같지만 방향이 정반대인 대응점 P1이 항상 존재한다는 것이 핵심 아이디어입니다.수식으로 표현하면, Q가 선분 PP1의 중점이 되도록 만드는 점이 바로 대칭점입니다. 따라서 대칭점은 다음과 같은 간단한 공식으로 구할 수 있습니다.P1 = 2Q − P즉, x좌표와 y좌표 각각에 대해 2 × Q의 좌표

  9. JavaScript로 생년월일 기반 별자리 찾기: 날짜 객체에서 점성술 기호 구하는 방법

    문제 정의날짜 객체(Date 객체)를 입력으로 받아, 해당 생년월일에 대응하는 별자리(점성술 기호)를 반환하는 JavaScript 함수를 작성해야 합니다.예제 코드다음은 이 문제를 해결하는 코드입니다 −const date = new Date();// 2021년 4월 2일 기준const findSign = (date) => {   const days = [21, 20, 21, 21, 22, 22, 23, 24, 24, 24, 23, 22];   const signs = ["

  10. JavaScript로 2D 평면에서 두 점 사이의 거리 구하기

    문제 상황x와 y 속성을 가진 두 개의 객체를 인수로 받아, 평면 위의 두 점을 나타내는 JavaScript 함수를 작성해야 합니다.이 함수는 두 점 사이의 거리를 계산하여 반환해야 합니다.접근 방법두 점 사이의 거리는 유클리드 거리 공식, 즉 피타고라스 정리를 이용해 구할 수 있습니다.두 점 A(x₁, y₁)와 B(x₂, y₂)가 주어졌을 때, 거리는 다음과 같이 계산됩니다.distance = √((x₂ − x₁)² + (y₂ − y₁)²)즉, x 좌표의 차이와 y 좌표의 차이를 각각 제곱한 뒤 더하고, 그 값의 제곱근을 구하면

  11. JavaScript에서 이진 배열을 해당 십진수로 변환하는 방법

    문제 정의우리는 0과 1로만 구성된 이진(binary) 배열을 입력으로 받는 JavaScript 함수를 작성해야 합니다.이 함수는 먼저 배열에 있는 모든 비트를 하나의 이진수로 연결한 뒤, 그 이진수에 대응하는 십진수(10진수) 값을 반환해야 합니다.예를 들어 [1, 0, 1, 1]이라는 배열이 주어지면, 이를 이진수 1011로 해석하고 그에 해당하는 십진수인 11을 반환하면 됩니다.해결 방법가장 기본적인 접근 방식은 각 비트의 자릿값을 계산하여 더하는 것입니다. 이진수에서 가장 왼쪽 비트부터 오른쪽으로 갈수록 2의 거듭제곱 지수가

  12. JavaScript로 시간당 킬로미터(km/h)를 초당 센티미터(cm/s)로 변환하는 방법

    문제 개요이번 글에서는 시속 킬로미터(km/h) 단위의 속도 값을 입력받아, 이를 초당 센티미터(cm/s) 단위로 변환한 결과를 반환하는 JavaScript 함수를 작성해 보겠습니다.변환 원리 이해하기km/h를 cm/s로 변환하려면 두 가지 기본 환산 계수를 알아야 합니다.1킬로미터(km) = 100,000센티미터(cm)1시간(hour) = 3,600초(sec)즉, 시간당 이동 거리를 초당 이동 거리로 바꾸려면 거리 단위는 센티미터로 확대하고, 시간 단위는 초로 나누어 주면 됩니다. 변환 공식은 다음과 같습니다.cm/s = (km/

  13. JavaScript로 배열의 정수 부호 반전하기

    문제 소개정수 배열(양수와 음수가 섞여 있음)을 입력받아, 모든 양수는 음수로, 모든 음수는 양수로 변환한 새로운 배열을 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 [5, -4]가 입력되면 [-5, 4]를 반환해야 합니다. 0은 부호가 없으므로 그대로 유지됩니다.예제 코드다음은 위 문제를 해결하는 코드입니다 −const arr = [5, 67, -4, 3, -45, -23, 67, 0];const invertSigns = (arr = []) => {   const res = []

  14. JavaScript divisibleBy() 함수 – 배열에서 나누어 떨어지는 숫자만 골라내기

    문제 정의 숫자로 이루어진 배열과 하나의 숫자를 두 개의 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 배열을 필터링하여 두 번째 인수로 전달된 숫자로 나누어 떨어지는 요소만 남긴 뒤, 그 결과 배열을 반환해야 합니다. 예제 코드 다음은 이 문제를 해결하는 코드입니다 − const arr = [56, 33, 2, 4, 9, 78, 12, 18]; const num = 3; const divisibleBy = (arr = [], num = 1) => {     

  15. JavaScript로 배열의 부분 합계(Partial Sum) 구현하기

    문제 정의 숫자 배열을 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 새로운 배열을 생성해 반환해야 하는데, 새 배열의 각 요소는 원본 배열에서 해당 위치 자신을 포함한 오른쪽에 있는 모든 요소들의 합이 되어야 합니다. 예를 들어 입력 배열이 [5, 6, 1, 3, 8, 11]이라면 결과는 다음과 같습니다. 첫 번째 요소: 5 + 6 + 1 + 3 + 8 + 11 = 34 두 번째 요소: 6 + 1 + 3 + 8 + 11 = 29 세 번째 요소: 1 + 3 + 8 + 11 = 23 네 번째 요소: 3 + 8

  16. JavaScript에서 String.prototype.split()을 직접 구현하는 사용자 정의 함수 만들기

    문제 상황JavaScript의 String 클래스 프로토타입 객체에 새로운 메서드를 추가하는 함수를 작성해야 합니다.이 함수는 문자열 구분자(separator) 하나만 인수로 받습니다(원본 split() 함수는 두 개의 인수를 받지만, 여기서는 간소화된 형태로 구현합니다). 그리고 전달받은 구분자를 기준으로 문자열을 분할한 결과 조각들을 배열 형태로 반환해야 합니다.구현 예시다음은 해당 기능을 구현한 코드입니다.const str = this is some string; String.prototype.customSplit = (sep

  17. JavaScript로 지정된 항 개수까지 수열의 합 구하기

    알고리즘 문제에서 자주 만나는 수열 합계 문제를 JavaScript로 해결하는 방법을 알아보겠습니다. 반복문과 누적 곱(팩토리얼)을 활용하면 불필요한 중복 계산 없이 효율적으로 답을 구할 수 있습니다.문제 이해다음과 같은 수열이 주어져 있다고 가정해 보겠습니다.수열: 1/1 , 1/(1×2) , 1/(1×2×3) , 1/(1×2×3×4) , …이 수열의 n번째 항은 다음과 같습니다.1 / (1 × 2 × 3 × … × n)즉, 각 항은 그 순서 번호 n에 대한 팩토리얼(n!)의 역수입니다. 요구 사항은 숫자 n을 입력받아 이 수열의

  18. JavaScript로 배열의 최솟값과 최댓값을 찾는 함수 만들기

    문제 상황배열을 인수로 받아 새로운 배열을 반환하는 JavaScript 함수를 작성해야 합니다. 이때 반환되는 배열의 첫 번째 요소는 입력 배열에서 가장 작은 값(최솟값)이어야 하고, 두 번째 요소는 가장 큰 값(최댓값)이어야 합니다.예제 코드다음은 reduce() 메서드를 활용한 해결 코드입니다.const arr = [56, 34, 23, 687, 2, 56, 567]; const findMinMax = (arr = []) => { const creds = arr.reduce((acc, val) => {

  19. JavaScript로 배열의 모든 값이 특정 한계값보다 작은지 확인하는 방법

    문제 정의숫자로 이루어진 배열과 하나의 숫자를 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 배열에 포함된 모든 숫자가 두 번째 인자로 전달된 한계값보다 작을 경우 true를 반환하고, 하나라도 한계값 이상인 숫자가 존재하면 false를 반환해야 합니다.예제 코드다음은 위 문제를 해결하는 코드입니다 −const arr = [5, 34, 23, 14, 78, 45, 78];const limit = 99;const checkEvery = (arr = [], limit = 1) => { &n

  20. JavaScript로 Array.prototype.includes()와 유사한 커스텀 함수 직접 구현하기

    JavaScript의 내장 메서드인 Array.prototype.includes()는 배열에 특정 값이 존재하는지 확인할 때 유용하게 사용됩니다. 이번 글에서는 이 메서드와 동일하게 동작하는 사용자 정의(커스텀) 함수를 프로토타입 객체에 직접 구현하는 방법을 알아보겠습니다.문제 정의배열의 프로토타입 객체(Array.prototype)에 정의되는 JavaScript 함수를 작성해야 합니다. 이 함수는 다음 조건을 만족해야 합니다.하나의 리터럴 값을 인자로 받습니다.해당 값이 함수가 호출된 배열 안에 존재하면 true를 반환합니다.존재

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:19/297  20-컴퓨터/Page Goto:1 13 14 15 16 17 18 19 20 21 22 23 24 25