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

JavaScript

  1. JavaScript로 정렬되지 않은 배열에서 누락된 숫자 하나 찾기

    문제 상황1부터 n까지의 숫자가 포함된 배열을 입력받아, 이 배열 속에서 빠진 숫자 하나를 찾아 반환하는 JavaScript 함수를 작성해야 합니다.여기서 까다로운 점은 두 가지입니다. 첫째, 배열에서 정확히 한 개의 숫자가 누락되어 있고, 둘째, 배열이 정렬되어 있지 않다는 것입니다. 다행히도 반복문으로 일일이 비교하지 않고도 수학적 공식을 활용하면 매우 효율적으로 문제를 해결할 수 있습니다.해결 아이디어: 가우스 덧셈 공식핵심 원리는 간단합니다. 1부터 m까지의 연속된 자연수의 합은 m × (m + 1) ÷ 2라는 가우스 덧셈

  2. JavaScript로 제곱된 약수의 합이 완전제곱수가 되는 정수 찾기

    문제 소개두 개의 숫자 m과 n으로 구성된 배열을 통해 범위를 지정받는 JavaScript 함수를 작성해야 합니다.이 함수는 m부터 n까지(단, 1 ≤ m ≤ n)의 정수 중에서, 해당 정수의 모든 약수를 각각 제곱한 뒤 그 합을 계산했을 때 결과값이 완전제곱수(perfect square)가 되는 수들을 찾아야 합니다.함수의 반환값은 여러 개의 하위 배열을 담은 배열입니다. 각 하위 배열은 두 개의 요소로 구성됩니다. 첫 번째 요소는 조건을 만족하는 정수이고, 두 번째 요소는 그 정수의 제곱된 약수들의 합입니다.코드 구현다음은 위

  3. JavaScript로 직육면체의 대각선 길이 구하는 방법

    문제JavaScript 함수를 작성하여 직육면체의 길이(length), 너비(width), 높이(height)를 입력받고, 해당 직육면체의 대각선 길이를 반환해야 합니다.대각선 길이 공식직육면체의 대각선은 한 꼭짓점에서 반대편 꼭짓점까지 이어지는 선분입니다. 3차원 공간에서의 대각선 길이는 피타고라스 정리를 세 차원으로 확장한 다음 공식으로 구할 수 있습니다.d = √(l² + w² + h²)여기서 l은 길이, w는 너비, h는 높이를 나타냅니다.예제다음은 위 공식을 구현한 코드입니다 −const height = 10;

  4. 자바스크립트로 두 직육면체의 부피 차이 구하기

    이번 글에서는 자바스크립트를 활용해 두 개의 직육면체(cuboid) 부피 차이를 계산하는 방법을 알아보겠습니다.문제 정의두 직육면체의 가로, 세로, 높이 값을 입력으로 받는 자바스크립트 함수를 작성해야 합니다.함수는 각 직육면체의 부피를 계산한 뒤, 두 부피의 절댓값 차이를 반환해야 합니다.접근 방법직육면체의 부피는 다음 공식으로 구할 수 있습니다.부피 = 가로 × 세로 × 높이따라서 각 직육면체의 부피를 위 공식으로 계산하고, Math.abs() 메서드를 사용하면 두 부피의 절댓값 차이를 손쉽게 구할 수 있습니다.예제 코드 { &

  5. JavaScript에서 배열 숫자의 제곱 및 제곱근 합계 구하기

    문제숫자로 이루어진 배열을 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 배열의 각 숫자를 확인하여 짝수이면 제곱하고, 홀수이면 제곱근을 구한 뒤, 변환된 모든 숫자의 합계를 소수점 둘째 자리까지 반올림하여 반환해야 합니다.해결 접근 방식배열의 각 요소를 순회하며 나머지 연산자(%)를 사용해 짝수 여부를 판별합니다.짝수라면 자기 자신을 곱해 제곱하고, 홀수라면 Math.sqrt()로 제곱근을 구합니다.reduce() 메서드를 사용해 변환된 모든 값을 하나의 합계로 누적합니다.예제 코드다음은 위 문제를 해결하는

  6. JavaScript로 문자열의 ASCII 코드를 이용해 숫자를 만들고 7을 1로 바꾼 수와의 차이 구하기

    문제 설명문자열을 입력으로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 다음과 같은 과정을 거쳐야 합니다.먼저 문자열의 각 문자를 해당하는 ASCII 문자 코드로 변환한 뒤, 이 코드들을 모두 이어 붙여 하나의 큰 숫자를 만듭니다. 다음으로 이 숫자에서 등장하는 모든 7을 1로 바꿔 또 다른 숫자를 만듭니다. 마지막으로 원래 숫자와 변경된 숫자의 차이를 반환하면 됩니다.접근 방법두 숫자의 자릿수 구성은 7이 있던 위치만 달라질 뿐 완전히 동일합니다. 따라서 실제로 거대한 숫자를 만들 필요 없이, ASCII 코드에서

  7. JavaScript로 숫자를 알파벳과 특수 문자로 변환하는 방법

    문제 정의 문자열 형태의 숫자 배열을 입력받아 하나의 문자열을 반환하는 자바스크립트 함수를 작성해야 합니다. 각 숫자는 알파벳 소문자와 역순으로 대응되며, 그 규칙은 a=26, b=25, ..., z=1입니다. 또한 특수 문자도 함께 처리해야 합니다. 느낌표(!)는 27, 물음표(?)는 28, 공백( )은 29에 해당합니다. 예제 코드 const arr = [5, 23, 2, 1, 13, 18, 6]; const convertToString = (arr) => { let res = ; for (let char

  8. JavaScript로 주어진 숫자보다 큰 가장 작은 다음 소수 찾기

    문제 이해하기이번 문제는 JavaScript 함수를 작성하는 것입니다. 함수는 하나의 숫자 n을 입력받아야 하며, n보다 큰 수 중에서 가장 작은 소수를 찾아 반환해야 합니다.예를 들어, 101이 입력되면 101 자체가 소수이므로 그다음으로 큰 소수인 103을 반환해야 합니다.접근 방법이 문제는 두 단계로 나누어 해결할 수 있습니다.1단계: 소수 판별 함수 — 어떤 수가 소수인지 확인합니다. 효율성을 위해 2부터 해당 수의 제곱근까지만 나누어 떨어지는지 검사하면 됩니다. 제곱근까지만 확인해도 충분한 이유는, 만약 num = a ×

  9. JavaScript 배열에서 양수 개수와 음수 합계 한 번에 계산하기

    문제 양수와 음수가 섞여 있는 정수 배열을 입력받는 JavaScript 함수를 작성해야 합니다. 이 함수는 두 개의 요소를 가진 배열을 반환하며, 첫 번째 요소는 양수의 개수, 두 번째 요소는 음수들의 합계가 되어야 합니다. 예제 코드 다음은 위 문제를 해결하는 코드입니다 − const arr = [1, 2, 1, -2, -4, 2, -6, 2, -4, 9]; const posNeg = (arr = []) => {    const creds = arr.reduce((acc, val) => {

  10. JavaScript로 문자열에서 모든 공백 제거하기

    문제 정의문자열을 입력받아 모든 공백이 제거된 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 합니다. 즉, 문자열 내의 모든 공백 문자를 빈 문자열()로 대체하는 것이 목표입니다.방법 1: 반복문을 활용한 구현가장 기본적인 접근 방식은 문자열을 한 글자씩 순회하면서 공백이 아닌 문자만 결과 문자열에 이어 붙이는 것입니다.const str = some random string ex a m pl e;const removeSpaces = (str = ) => {  let res = ; &nb

  11. JavaScript로 숫자 각 자릿수의 합과 곱의 차이 구하기

    문제 소개이번 글에서는 JavaScript를 활용해 숫자의 각 자릿수 합계와 각 자릿수 곱 사이의 절댓값 차이를 계산하는 방법을 알아보겠습니다.예를 들어 숫자 434312가 주어졌을 때, 각 자릿수는 4, 3, 4, 3, 1, 2입니다.자릿수의 합: 4 + 3 + 4 + 3 + 1 + 2 = 17자릿수의 곱: 4 × 3 × 4 × 3 × 1 × 2 = 288따라서 두 값의 절댓값 차이는 |288 − 17| = 271이 됩니다.해결 접근 방식구현 과정은 다음과 같습니다.숫자를 문자열로 변환한 뒤 split()으로 개별 자릿수 배열로

  12. JavaScript로 보글(Boggle) 단어 유효성 검사하기

    문제 정의보글(Boggle) 보드는 개별 문자들이 배치된 2차원 배열입니다. 예를 들어 다음과 같은 형태입니다.const board = [     ["I","L","A","W"],     ["B","N","G","E"],     ["I","U",&qu

  13. JavaScript로 문자열의 모든 문자가 고유한지 확인하는 방법

    문제 이해하기 문자열을 하나 입력받아, 해당 문자열의 모든 문자가 각각 한 번씩만 등장하면 true를, 중복된 문자가 존재하면 false를 반환하는 JavaScript 함수를 작성하는 것이 목표입니다. 예를 들어 thisconaluqe처럼 어떤 문자도 반복되지 않는 문자열이라면 결과는 true여야 하고, hello처럼 같은 문자가 두 번 이상 나타나는 문자열이라면 결과는 false가 되어야 합니다. 해결 접근 방식 이 문제는 indexOf()와 lastIndexOf() 메서드를 활용하면 간단하게 해결할 수 있습니다. index

  14. JavaScript로 이진수 연결을 활용해 5의 배수 찾기: 최단 이진 문자열 붙이기 알고리즘

    문제 소개이번 글에서는 JavaScript로 해결할 수 있는 흥미로운 알고리즘 문제를 다뤄보겠습니다. 숫자 n을 입력받아, 해당 숫자의 2진수 표현 뒤에 가장 짧은 이진 문자열을 이어 붙여 만들 수 있는 5의 다음 배수를 반환하는 함수를 작성하는 것이 목표입니다.예를 들어 숫자 8의 2진수는 1000입니다. 이 뒤에 이진 문자열을 하나씩 이어 붙여가며 그 결과값이 5로 나누어떨어지는지 확인하고, 조건을 만족하는 가장 짧은 문자열을 찾으면 됩니다.해결 접근 방식핵심 아이디어는 다음과 같습니다.1. 입력받은 숫자를 2진수 문자열로 변환

  15. JavaScript로 특정 횟수만큼 문자열 반복하기

    문제문자열과 숫자를 두 개의 인수로 받는 JavaScript 함수를 작성해야 합니다.이 함수는 첫 번째 인수로 전달된 문자열을 두 번째 인수로 지정된 횟수만큼 반복한 뒤, 반복된 결과 문자열을 반환해야 합니다.접근 방법가장 간단한 방법은 배열을 활용하는 것입니다. 먼저 배열에 원본 문자열을 담고, 지정된 횟수만큼 같은 문자열을 추가한 후 join() 메서드로 하나의 문자열로 합치면 됩니다.예제 코드다음은 구현 예시입니다 −const str = this;const num = 8;const repeatSpecificTimes

  16. JavaScript로 숫자를 뒤집었을 때 소수인지 판별하는 방법

    문제 정의하나의 숫자를 인자로 받아, 그 숫자를 거꾸로 뒤집은 값이 소수(prime number)인 경우에는 true를, 그렇지 않은 경우에는 false를 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 13을 뒤집으면 31이 되는데, 31은 소수이므로 이 경우 함수는 true를 반환해야 합니다. 참고로 이렇게 뒤집었을 때도 소수가 되는 수를 수학에서는 에미르프(Emirp)라고 부르기도 합니다.풀이 접근 방법이 문제는 크게 두 단계로 나누어 해결할 수 있습니다.1단계 – 숫자 뒤집기: 숫자를 문자열로 변환한 뒤, 각

  17. JavaScript로 합이 0 이상인 가장 긴 연속 구간 찾기

    문제 설명 정수로 이루어진 배열을 입력으로 받는 JavaScript 함수를 작성해야 합니다. 이때 배열의 각 요소는 -1부터 1 사이의 값을 가집니다. 함수는 주어진 수열에서 합이 0 이상이 되는 가장 긴 연속 구간(부분 배열)의 길이를 반환해야 합니다. 예시 코드 다음은 위 문제를 해결하는 구현 코드입니다. const arr = [-1, -1, 0, 1, 1, -1, -1, -1]; const longestPositiveSum = (arr = []) => {    let sum = 0;   &nb

  18. 자바스크립트로 정렬된 두 배열을 하나의 정렬된 배열로 병합하는 방법

    문제 소개정렬되어 있는 두 개의 숫자 배열이 주어졌을 때, 두 배열의 모든 요소를 하나의 새로운 배열에 합치고, 기존과 동일한 정렬 순서를 유지한 채 결과 배열을 반환하는 자바스크립트 함수를 작성해야 합니다.예를 들어 [1, 3, 4, 5, 6, 8]과 [4, 6, 8, 9, 11]이라는 두 배열이 있다면, 이 둘을 병합한 결과는 다음과 같아야 합니다.[ 1, 3, 4, 4, 5, 6, 6, 8, 8, 9, 11 ]접근 방식두 배열이 이미 정렬되어 있다는 점이 핵심입니다. 이 경우 투 포인터(Two Pointer) 기법을 사용하면

  19. JavaScript로 유리수 배열의 합 구하기: 기약분수 형태로 결과 반환하기

    두 개의 하위 배열을 요소로 가지는 배열을 입력받아 처리하는 JavaScript 함수를 작성해야 합니다. 각 하위 배열은 두 개의 숫자를 포함하며, 분수 형태의 유리수를 나타냅니다.함수는 이 두 유리수를 더한 뒤, 그 결과를 기약분수(더 이상 약분할 수 없는 가장 간단한 형태)로 표현하는 두 숫자로 이루어진 새로운 배열을 반환해야 합니다. 예를 들어 [1, 2]는 1/2를, [1, 3]은 1/3을 의미합니다.풀이 코드const arr = [ [1, 2], [1, 3] ]; const findSum = (arr = []

  20. JavaScript 문자열 뒤집기와 ASCII 코드 변환 알고리즘 구현 방법

    문제 정의주어진 알고리즘에 따라 메시지를 변환하는 JavaScript 함수를 작성해야 합니다. 우리가 알고 있는 정보는 오직 해당 메시지에 적용된 암호화 알고리즘뿐이며, 이 알고리즘의 동작을 코드로 구현하는 것이 목표입니다.알고리즘은 다음 세 단계로 구성됩니다.문자열 뒤집기: 메시지 문자열의 순서를 거꾸로 뒤집습니다.ASCII 코드 치환: 모든 영문자를 작은따옴표로 감싼 ASCII 코드 값으로 대체합니다. 예를 들어 A는 65, h는 104가 됩니다.숫자와 공백 유지: 숫자와 공백은 변환 없이 그대로 삽입합니다.즉, 이 함수는 위

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