문제두 개의 숫자를 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 두 숫자의 이진수 표현에서 같은 위치에 1이 최소 두 번 나타나면 true를, 그렇지 않으면 false를 반환해야 합니다.해결 접근 방식두 숫자를 이진수 문자열로 변환한 뒤, 자릿수를 맞추기 위해 더 긴 쪽의 앞부분을 잘라냅니다. 그 다음 각 자리를 비교하여 두 숫자 모두 1인 경우의 개수를 세고, 그 개수가 2 이상이면 true를 반환합니다.예제다음은 전체 코드입니다 −const num1 = 10; const num2 = 15; const ch
숫자로 이루어진 배열을 다룰 때, 연속된 수열 중간에 끊긴 지점을 찾아야 하는 경우가 종종 있습니다. 이번 글에서는 배열에서 이전 요소의 자연스러운 연속값(+1)이 아닌 첫 번째 숫자를 찾아 반환하는 JavaScript 함수를 작성해 보겠습니다. 문제 정의 우리가 작성해야 할 함수는 숫자 배열을 인수로 받습니다. 함수의 목표는 다음과 같습니다. 배열을 순회하면서 각 요소가 바로 앞 요소보다 정확히 1만큼 큰지 확인합니다. 이 조건을 만족하지 않는, 즉 앞 요소 + 1이 아닌 첫 번째 요소를 반환합니다. 배열 전체가 완벽하게 연속적
문제 상황JavaScript로 문자열을 입력받아 아래 알고리즘에 따라 암호화하는 함수를 작성해야 합니다.문자열은 공백으로 구분된 단어들로만 이루어져 있습니다.문자열 내 각 단어는 다음 규칙에 따라 암호화됩니다.첫 번째 글자는 해당 문자의 ASCII 코드 값으로 변환합니다.두 번째 글자는 마지막 글자와 서로 위치를 교환합니다.이 규칙을 적용하면 문자열 good은 다음과 같이 암호화됩니다.첫 글자 g의 ASCII 코드는 103두 번째 글자 o와 마지막 글자 d가 교환되어 doo최종 결과: 103doo코드 구현다음은 위 알고리즘을 구현한
문제 정의문자열을 입력받아 아래 알고리즘에 따라 암호화된 결과를 반환하는 자바스크립트 함수를 작성해야 합니다.입력 문자열은 공백으로 구분된 단어들로만 이루어져 있습니다.각 단어는 다음 규칙에 따라 암호화합니다.첫 번째 글자는 해당 문자의 ASCII 코드 값으로 변환합니다.두 번째 글자는 마지막 글자와 서로 위치를 바꿉니다.예를 들어 이 규칙을 적용하면 문자열 good은 103doo로 암호화됩니다. 첫 글자 g의 ASCII 코드가 103이고, 두 번째 글자 o와 마지막 글자 d가 서로 뒤바뀌어 doo가 되기 때문입니다.구현 예시다음은
문제 소개숫자로 이루어진 배열을 입력받아 처리하는 JavaScript 함수를 작성해야 합니다. 이 함수의 목표는 배열에서 요소의 값과 해당 요소의 0 기반(0-based) 인덱스가 일치하는 첫 번째 숫자를 찾아 반환하는 것입니다. 단, 조건을 만족하는 숫자가 배열에 최소 하나 이상 존재한다고 가정합니다.해결 접근 방법가장 직관적인 해결 방법은 배열을 처음부터 끝까지 순차적으로 순회하면서, 각 위치에서 요소의 값이 현재 인덱스와 같은지 비교하는 것입니다. 조건을 만족하는 요소를 발견하는 즉시 해당 값을 반환하고 함수 실행을 종료하면
문제 정의행과 열의 개수가 동일한 m×n 크기의 숫자형 2차원 배열이 주어졌을 때, JavaScript 함수를 작성하여 아래 수식과 같은 교차 합계(alternating sum)를 계산해 반환해야 합니다.Σi=1..m Σj=1..n (−1)i+j · aij쉽게 말해, 각 요소에 대해 행 인덱스와 열 인덱스의 합(i+j)이 짝수이면 그 값을 더하고(+), 홀수이면 빼는(−) 방식입니다. 체스판의 칸처럼 부호가 번갈아 배치되는 패턴이라고 생각하면 이해하기 쉽습니다.구현 코드 { let sum = 0; for(let i = 0;
문제 상황정수들이 공백으로 구분되어 들어 있는 문자열을 입력으로 받는 JavaScript 함수를 작성해야 합니다.이 함수의 역할은 문자열 안에 있는 각 정수를 실제 숫자로 변환한 뒤, 그 합계를 계산하여 반환하는 것입니다.해결 접근 방법이 문제는 다음 세 단계로 해결할 수 있습니다.1. split() 메서드로 문자열을 공백 기준으로 나누어 배열을 만듭니다.2. map(Number)를 사용해 배열의 각 요소를 숫자 타입으로 변환합니다.3. reduce() 메서드로 배열의 모든 값을 더해 합계를 구합니다.코드 예제다음은 전체 구현 코드
문제 개요문자열 배열을 입력받는 자바스크립트 함수를 작성해야 합니다. 배열에 담긴 대부분의 문자열은 동일한 문자들(또는 그 문자들의 반복)로 이루어져 있으며, 단 하나의 문자열만 서로 다른 문자 집합으로 구성되어 있습니다. 우리가 만들 함수는 바로 그 유일한 문자열을 찾아 반환해야 합니다.예시배열이 다음과 같다고 가정해 보겠습니다.[ba, abc, acb, bac, foo, bca, cab, cba]위 배열에서 나머지 문자열들은 모두 a, b, c 세 글자로 이루어져 있지만, foo만 f와 o라는 전혀 다른 문자로 구성되어 있습니다
문제배열을 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 입력 배열의 각 위치까지의 이동 평균(누적 평균)을 담은 새로운 배열을 생성하여 반환해야 합니다.예를 들어 다음과 같습니다.[1, 2, 3, 4, 5] → [1, 1.5, 2, 2.5, 3]첫 번째 값은 첫 번째 요소의 평균, 두 번째 값은 처음 두 개 요소의 평균, 세 번째 값은 처음 세 개 요소의 평균이 되는 식으로 진행됩니다. 즉, n번째 결과값은 앞에서부터 n개 요소의 산술 평균입니다.예제 코드다음은 위 문제를 해결하는 전체 코드입니다.c
문제 정의문자열 str을 인수로 받아 처리하는 JavaScript 함수를 작성해야 합니다. 이 함수는 문자열 속 알파벳들이 각각 앞에 위치한 숫자를 기준으로 유효한지 검증하는 역할을 합니다.구체적인 동작 방식은 다음과 같습니다. 먼저 문자열을 숫자를 기준으로 분리한 뒤, 각 숫자가 바로 뒤따르는 부분 문자열의 글자 수와 일치하는지 비교합니다. 모든 조합이 일치하면 해당 문자열은 유효한 것으로 판단하여 true를 반환하고, 하나라도 불일치하면 false를 반환해야 합니다.예시다음 문자열을 살펴보겠습니다.5hello4from2me이 문
문제 상황숫자를 인자로 받아 소수점(.) 뒤에 오는 부분만 추출하여 반환하는 자바스크립트 함수를 작성해야 합니다. 예를 들어, 435.43436이라는 숫자가 입력되면 함수는 0.43436을 반환해야 합니다.해결 코드다음은 문자열 변환과 분할을 활용한 해결 방법입니다 −const num = 435.43436;const retrieveDecimalPart = (num = 1) => { const str = String(num); let [
배열에 담긴 숫자들을 조건에 따라 가공해야 하는 경우가 종종 있습니다. 이번 글에서는 배열의 모든 요소를 홀수로 만드는 JavaScript 함수를 작성하는 방법을 알아보겠습니다.문제 정의숫자 배열을 입력받아 다음 규칙에 따라 각 요소를 변환한 뒤, 새로운 배열을 반환하는 함수를 작성해야 합니다.요소가 홀수라면 그대로 유지합니다.요소가 짝수라면 1을 빼서 홀수로 만듭니다.예를 들어, [5, 23, 6, 3, 66, 12, 8]이라는 배열이 주어지면 결과는 [5, 23, 5, 3, 65, 11, 7]이 되어야 합니다.구현 예시가장 기본
문제 이해하기 하나의 숫자를 인수로 받는 자바스크립트 함수를 작성해야 합니다. 이 숫자는 삼각형의 둘레, 즉 세 변 길이의 합을 의미합니다. 함수는 입력된 둘레와 정확히 일치하는 모든 직각삼각형의 세 변 조합을 배열 형태로 반환해야 합니다. 예를 들어 둘레가 120이라면, 세 변의 합이 120이면서 동시에 피타고라스 정리를 만족하는 모든 (a, b, c) 조합을 찾아야 합니다. 접근 방법 직각삼각형의 세 변 a, b, c(단, c는 빗변)는 다음 두 조건을 동시에 만족해야 합니다. 둘레 조건: a + b + c = perimet
문제이번 글에서는 JavaScript의 Math 클래스에 속하는 함수를 직접 작성해 보겠습니다.이 함수는 호출될 때 전달받은 소수(십진수)보다 큰 가장 가까운 정수, 즉 올림 값을 반환해야 합니다.만약 전달된 숫자가 이미 정수라면, 그 숫자를 그대로 반환하면 됩니다.예제 코드다음은 해당 기능을 구현한 코드입니다 -const num = 234.56;Math.ceil = function(num){ if(typeof num !== number){  
문제 개요공백으로 구분된 숫자들이 담긴 문자열을 입력받아, 나머지 숫자들과 홀짝 성질이 다른 단 하나의 숫자를 찾아 반환하는 JavaScript 함수를 작성해야 합니다.입력 문자열은 항상 다음 두 가지 경우 중 하나입니다.모든 숫자가 홀수이고, 짝수가 딱 하나만 포함된 경우모든 숫자가 짝수이고, 홀수가 딱 하나만 포함된 경우함수는 이렇게 혼자만 성질이 다른 숫자를 찾아 반환하면 됩니다.예제 코드다음은 위 문제를 해결하는 JavaScript 코드입니다.const str = 2 4 7 8 10;const findDifferent = (
문제소문자 알파벳으로만 이루어진 문자열을 입력받아 각 문자의 점수를 합산하는 JavaScript 함수를 작성해야 합니다. 여기서 알파벳의 인덱스는 1부터 시작하며, a는 1, b는 2, c는 3처럼 순서대로 매겨지고 마지막 z는 26이 됩니다.즉, 함수는 문자열에 포함된 모든 문자의 인덱스 값을 모두 더한 총합을 반환해야 합니다.예제다음은 해당 코드입니다 −const str = 'lowercasestring';const findScore = (str = '') => {  
문제 소개 중복되지 않는 음수가 아닌 정수 배열을 입력받아 하나의 32비트 정수를 반환하는 JavaScript 함수를 작성해야 합니다. 조건은 다음과 같습니다. 반환되는 정수의 이진 표현에서 배열에 포함된 인덱스(오른쪽부터 셈)에 해당하는 자리에만 1이 있어야 하며, 나머지 자리는 모두 0이어야 합니다. 예를 들어 배열이 [1, 2, 0, 4]라면, 오른쪽에서 0번째, 1번째, 2번째, 4번째 자리에만 1이 위치한 이진수를 만들어 그에 대응하는 값을 계산하게 됩니다. 예제 코드 다음은 위 문제를 해결하는 코드입니다 −
이 글에서는 정수 하나를 입력받아 그 수의 제곱근이 정확히 떨어지는 경우에는 해당 정수를, 그렇지 않은 경우에는 제곱근이 위치한 두 정수 사이의 범위를 배열로 반환하는 자바스크립트 함수를 구현하는 방법을 알아보겠습니다. 문제 정의 정수 n을 매개변수로 받아 다음 중 하나를 반환하는 함수를 작성해야 합니다. n이 완전제곱수인 경우: k * k == n을 만족하는 정수 k를 반환 n이 완전제곱수가 아닌 경우: k * k < n < (k+1) * (k+1)을 만족하는 연속된 두 정수의 범위 [k, k+1]을 반환 즉, 입력
문제 소개숫자 하나를 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 주어진 숫자를 첫 번째 자릿수부터 마지막 자릿수까지 한 단계씩 잘라낸 문자열들을 요소로 담은 배열을 반환해야 합니다.예를 들어 입력값이 246이라면, 함수는 다음과 같은 배열을 반환해야 합니다.[ 2, 24, 246 ]즉, 첫 번째 자릿수까지만 남긴 값, 두 번째 자릿수까지 남긴 값, 세 번째 자릿수(전체)까지의 값이 순서대로 배열에 저장되는 방식입니다.해결 코드다음은 이 문제를 해결하는 전체 코드입니다 −const num = 246
문제 정의 JavaScript로 Projectile(발사체) 클래스를 작성하는 것이 과제입니다. 이 클래스는 생성될 때 다음 세 가지 값을 인자로 받습니다. 초기 높이 h₀ — 조건: 0 ≤ h₀ < 200 초기 속도 v₀ — 조건: 0 < v₀ < 200 발사 각도 a — 조건: 0° < a < 90° (도 단위) 그리고 클래스에 다음 메서드를 구현해야 합니다. horiz(t) — 시간 t(초)를 인자로 받아 그동안 발사체가 이동한 수평 거리를 계산해 반환합니다. (실수 입력, 실수 반환) 물리