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

JavaScript

  1. JavaScript로 문자열과 숫자가 섞인 배열의 합계 구하기

    문제정수와 문자열 형태의 숫자가 섞여 있는 배열을 인수로 받는 JavaScript 함수를 작성해야 합니다.이 함수는 배열 안의 모든 정수와 문자열 숫자를 하나로 합산하여 새로운 숫자를 만든 뒤, 그 결과를 반환해야 합니다.예시다음은 해당 코드입니다 −const arr = [67, 45, 34, 23, 4, 6, 6];const mixedSum = (arr = []) => {    let sum = 0;    for(let i = 0; i < arr.l

  2. JavaScript로 객체 배열에서 평균 나이 계산하기

    문제 상황사람들에 대한 정보를 담고 있는 객체 배열이 주어졌을 때, 이 배열에서 age(나이) 속성의 평균값을 구하는 JavaScript 함수를 작성해야 합니다.배열의 각 요소는 이름(fName)과 나이(age)를 포함하는 객체이며, 이 중 나이 값들을 모두 더한 뒤 사람 수로 나누어 평균 나이를 계산하면 됩니다.풀이 방법가장 효율적인 접근 방식은 reduce() 메서드를 활용하는 것입니다. reduce()를 사용하면 배열을 한 번만 순회하면서 합계(sum)와 개수(count)를 동시에 누적할 수 있습니다. 그런 다음 합계를 개수로

  3. JavaScript 객체 배열에서 6개 대륙이 모두 포함되어 있는지 확인하는 방법

    문제 개요사람들의 소속 대륙 정보를 담고 있는 객체 배열을 입력받는 JavaScript 함수를 작성해야 합니다.이 함수는 배열 안에 아프리카, 남아메리카, 북아메리카, 유럽, 아시아, 호주(오세아니아) 등 여섯 개 대륙이 모두 존재하면 true를 반환하고, 하나라도 빠져 있다면 false를 반환해야 합니다.해결 접근 방식가장 직관적인 방법은 다음과 같습니다.1. 전체 대륙 목록을 담은 기준 배열을 만듭니다.2. 입력받은 객체 배열에서 각 사람의 continent 값을 추출합니다.3. 추출된 대륙이 기준 배열에 존재하면 해당 항목을

  4. JavaScript로 숫자 문자열을 바이너리 형태로 변환하는 방법

    문제숫자로만 구성된 문자열을 입력받아, 5보다 작은 숫자는 모두 0으로, 5 이상인 숫자는 모두 1로 바꾼 새로운 문자열을 반환하는 JavaScript 함수를 작성해야 합니다.예제다음은 전체 코드입니다 −const str = '262355677834342';const convert = (str = '') => {   let res = '';   for(let i = 0; i < str.length; i++){   

  5. 자바스크립트(JavaScript)로 n번째 짝수 반환하기

    문제숫자 하나(n)를 인수로 받는 자바스크립트 함수를 작성해야 합니다. 이 함수는 자연수 중에서 n번째 짝수를 계산하여 그대로 반환해야 합니다.짝수는 2의 배수이므로 반복문이나 배열 없이도 간단한 산술 연산 한 번으로 답을 구할 수 있습니다. 시간 복잡도 O(1)로 처리되는 아주 효율적인 문제입니다.접근 방법이 풀이에서 사용하는 논리는 다음과 같습니다.입력받은 수에 2를 곱합니다.여기서 2를 빼면 원하는 결과가 됩니다.즉, n번째 짝수를 2 × n − 2 공식으로 계산하는 방식입니다. 이 기준은 0을 첫 번째 짝수로 보는 것이며,

  6. JavaScript로 범위 내 자연수 배열 생성하기

    문제 정의JavaScript에서 두 개의 숫자 [a, b](a ≤ b)로 구성된 배열을 입력받는 함수를 작성해야 합니다. 이 배열은 하나의 범위를 나타냅니다.작성할 함수는 해당 범위에 포함된 모든 자연수를 요소로 가지는 배열을 반환해야 하며, 시작 값과 끝 값 역시 결과에 포함되어야 합니다.예제 코드다음은 위 문제를 해결하는 함수 구현 예시입니다.const range = [6, 45];const naturalBetweenRange = ([lower, upper] = [1, 1]) => {   &nbs

  7. JavaScript로 DNA를 RNA로 변환하는 방법

    DNA와 RNA의 관계디옥시리보핵산(DNA)은 생명체 내에서 유전 정보를 저장하는 핵심 분자입니다. DNA는 네 가지 핵산 염기, 즉 구아닌(G), 시토신(C), 아데닌(A), 티민(T)으로 구성되어 있습니다.리보핵산(RNA)은 세포 내에서 유전 정보를 전달하는 주요 전령 분자입니다. RNA는 화학 구조가 DNA와 약간 다르며, 티민을 포함하지 않는다는 점이 특징입니다. RNA에서는 티민 대신 또 다른 핵산 염기인 유라실(U)이 그 역할을 대신합니다.문제 정의주어진 DNA 문자열을 RNA 문자열로 변환하는 JavaScript 함수를

  8. JavaScript로 버스에 탑승하지 못하는 승객 수 계산하기

    문제 설명세 개의 매개변수를 입력받아 결과를 반환하는 JavaScript 함수를 작성해야 합니다.cap — 운전자를 제외한 버스가 수용할 수 있는 최대 승객 수on — 운전자를 제외한 현재 버스에 타고 있는 승객 수wait — 운전자를 제외한 버스 탑승을 기다리고 있는 승객 수버스에 여유 공간이 충분하다면 0을 반환하고, 공간이 부족하다면 탑승하지 못하는 승객의 수를 반환해야 합니다.예시 코드const cap = 120; const on = 80; const wait = 65; const findCapacity = (cap, on,

  9. JavaScript에서 문자열의 모든 알파벳을 10자리씩 앞으로 이동하기

    문제영어 알파벳으로 구성된 문자열을 인수로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 문자열 내 모든 알파벳을 10자리씩 앞으로 이동시켜야 하며, 만약 알파벳이 z를 넘어가게 되면 다시 a부터 순환하여 이어가야 합니다.예를 들어 a는 k로 이동하고, q처럼 z를 넘어서는 문자는 다시 a로 돌아가 계산됩니다.예제 코드다음은 위 문제를 해결하는 코드입니다 −const str = sample string;const moveStrBy = (num = 10) => {    

  10. JavaScript로 직사각형 속 정사각형들의 둘레 합 구하기

    문제 소개 다음 그림처럼 하나의 큰 직사각형 안에 5개의 정사각형이 차곡차곡 포개어 배치되어 있다고 가정해 보겠습니다. 이 정사각형들은 각 변의 길이가 1, 1, 2, 3, 5로 이어지는 피보나치 수열 구조를 띠고 있습니다. 따라서 각 정사각형의 둘레를 모두 더하면 다음과 같습니다. 4 + 4 + 8 + 12 + 20 = 48 단위 즉, 우리가 작성해야 할 것은 숫자 n을 입력받아, 직사각형 안에 n개의 정사각형이 배치되어 있을 때 전체 둘레의 합을 반환하는 JavaScript 함수입니다. 접근 방법 정사각형의 변의 길이가 피보

  11. JavaScript로 자릿수 왼쪽 회전을 통해 얻을 수 있는 최댓값 구하기

    문제 소개양의 정수 n을 입력받아, 숫자의 자릿수를 왼쪽으로 회전시켜 얻을 수 있는 모든 수 중에서 가장 큰 값을 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 56789가 주어졌다면, 자릿수를 왼쪽으로 한 칸씩 밀어 만들 수 있는 수는 다음과 같습니다.1회 회전 → 678952회 회전 → 789563회 회전 → 895674회 회전 → 95678이 중 가장 큰 값은 95678입니다.풀이 접근 방법숫자를 문자열로 변환한 뒤 각 자릿수를 배열 요소로 분리하고, 배열을 회전할 때마다 새로운 숫자를 만들어 기존 최댓값과 비

  12. JavaScript로 (ax+b)^n 이항 표현식 전개하기

    문제 정의 (ax+b)^n 형태의 수식을 입력받아 전개하는 JavaScript 함수를 작성해야 합니다. 여기서 a와 b는 양수 또는 음수일 수 있는 정수, x는 임의의 한 글자 변수, n은 자연수입니다. 단, a가 1일 경우에는 변수 앞에 계수를 따로 표기하지 않습니다. 함수는 전개된 결과를 ax^b+cx^d+ex^f... 형태의 문자열로 반환해야 합니다. 여기서 a, c, e는 각 항의 계수이고, x는 원래 수식에 사용된 한 글자 변수 그대로이며, b, d, f는 각 항에서 x가 거듭제곱된 지수로 반드시 내림차순으로 정렬되어야 합

  13. JavaScript로 0부터 n까지의 제곱수에 나타나는 특정 자릿수 개수 세기

    문제 개요정수 n(n ≥ 0)과 한 자리 숫자 d(0 ≤ d ≤ 9)를 입력받는 JavaScript 함수를 작성해야 합니다.함수는 0부터 n 사이의 모든 수 k(0 ≤ k ≤ n)를 각각 제곱한 후, 만들어진 모든 k² 값을 십진법으로 표기할 때 숫자 d가 총 몇 번 등장하는지 세어 그 개수를 반환해야 합니다.예제 코드다음은 위 문제를 해결하는 코드입니다.const n = 25;const d = 1;const countDigits = (n, d) => {    let k = 0, count

  14. JavaScript로 방의 길이·너비·높이를 기준으로 필요한 시트 수 계산하기

    문제 설명 방의 길이, 너비, 높이를 매개변수로 받아, 방의 벽면 전체를 덮는 데 필요한 시트(벽지)의 개수를 계산하는 JavaScript 함수를 작성해야 합니다. 시트 한 장의 규격은 다음과 같이 가정합니다. 너비: 0.52 단위 길이: 10 단위 또한 실제 시공 과정에서 발생할 수 있는 손실을 대비해, 계산된 필요량보다 15% 많은 양의 롤 수를 반환하도록 합니다. 풀이 접근 전체 계산 과정은 다음 세 단계로 정리할 수 있습니다. 벽면의 총 면적 계산: 사방 벽의 면적은 2 × (길이 + 너비) × 높이 공식으로 구할 수

  15. 자바스크립트로 미로 끝 경로 찾기: BFS(너비 우선 탐색)로 도달 가능 여부 판별하기

    문제 정의 이번 포스트에서는 N×N 크기의 2차원 배열(미로)이 주어졌을 때, 시작 지점 [0, 0]에서 출구 [N-1, N-1]까지 이동할 수 있는지 판별하는 자바스크립트 함수를 작성해 보겠습니다. 미로의 규칙은 다음과 같습니다. 벽은 문자 W(Wall)로 표시되고, 지나갈 수 있는 빈 칸은 _로 표시됩니다. 상·하·좌·우 네 방향으로 자유롭게 이동할 수 있습니다. 출구에 도달할 수 있으면 true, 그렇지 않으면 false를 반환해야 합니다. 접근 방법: 너비 우선 탐색(BFS) 격자(grid) 형태의 미로에서 도달 가능

  16. JavaScript로 복리 예금이 목표 금액에 도달하는 날짜 계산하기

    문제 정의원금 amt > 0을 2021년 1월 1일에 예금하고, 연 이자율 p%를 360으로 나눈 만큼 매일 이자가 붙는다고 가정해 보겠습니다. 우리의 목표는 원금과 누적 이자의 합계가 원하는 금액 a0 이상이 되는 시점을 찾는 것입니다.따라서 함수는 원금, 목표 금액, 연 이자율이라는 세 가지 매개변수를 받아, 금액이 목표치에 도달하는 날짜를 반환해야 합니다.접근 방법이 문제는 복리(compound interest) 방식으로 계산해야 합니다. 매일 발생한 이자가 다시 원금에 합쳐지고, 그 금액을 기준으로 다음 날 이자가 계산

  17. JavaScript로 문자열 배열을 알파벳순 정렬 후 각 문자 사이에 구분자 삽입하기

    JavaScript에서 문자열 배열을 다루다 보면, 배열을 정렬한 뒤 특정 형식으로 가공해야 하는 경우가 자주 있습니다. 이번 글에서는 문자열 배열을 알파벳순으로 정렬하고, 정렬 결과 중 가장 앞선 문자열의 각 문자 사이에 *** 구분자를 삽입하는 방법을 알아보겠습니다.문제 설명문자열 배열을 인수로 받는 JavaScript 함수를 작성해야 합니다.이 함수는 다음과 같은 작업을 수행해야 합니다.배열의 요소들을 알파벳순(사전순)으로 정렬합니다.정렬된 배열에서 첫 번째 문자열을 선택합니다.선택된 문자열의 각 문자 사이에 ***를 삽입한

  18. 자바스크립트로 숫자 배열 속 모음(ASCII 코드) 찾아 변환하기

    문제 정의숫자로 이루어진 배열을 입력받는 자바스크립트 함수를 작성해야 합니다. 배열 안에 ASCII 코드 기준으로 모음(a, e, i, o, u)에 해당하는 문자 코드와 일치하는 숫자가 존재한다면, 해당 숫자를 대응하는 모음 문자로 바꾼 뒤 새로운 배열을 반환하면 됩니다.예제 코드다음은 이 문제를 해결하는 코드입니다.const arr = [5, 23, 67, 101, 56, 111];const changeVowel = (arr = []) => {    for (let i = 0, l = ar

  19. JavaScript로 n개의 연속된 문자열을 합쳐 만들 수 있는 가장 긴 문자열 찾기

    문제 정의문자열 배열을 인자로 받는 JavaScript 함수를 작성해야 합니다. 이 함수는 배열에서 가능한 모든 n개의 연속된 문자열 조합을 하나씩 이어 붙여 만들고, 그중 가장 긴 문자열 중 먼저 나오는 것을 반환해야 합니다.예제 코드다음은 위 문제를 해결하는 전체 코드입니다.const arr = [zone, abigail, theta, form, libe, zas, theta, abigail]; const num = 2; function longestConsec(strarr, k) { if (strarr.length ==

  20. JavaScript로 숫자 자릿수 재배열하기 — 가장 큰 수 만드는 방법

    문제 소개이번 글에서는 세 자리 양의 정수 하나를 입력받아, 그 숫자의 자릿수들을 재배열하여 만들 수 있는 가장 큰 수를 반환하는 JavaScript 함수를 작성해 보겠습니다.예를 들어 149가 입력되면, 자릿수 1, 4, 9 중에서 가장 큰 조합인 941을 결과로 반환해야 합니다.해결 아이디어핵심 로직은 간단합니다. 숫자를 문자열로 변환한 뒤 각 자릿수를 배열 요소로 분리하고, 내림차순으로 정렬한 후 다시 하나의 숫자로 합치면 됩니다. 또한 입력값이 실제로 세 자리 수(100~999)인지 검증하여, 그렇지 않으면 null을 반환하

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