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

JavaScript

  1. JavaScript로 2차원 배열 전치(Transpose)하기 - 행과 열 뒤집기

    행렬의 전치(Transpose)란?행렬(2차원 배열)의 전치(transpose)란 원본 배열의 행과 열을 서로 뒤바꾼 형태를 말합니다. 즉, 원래 행에 있던 요소들이 열로 이동하고, 열에 있던 요소들이 행으로 이동하게 됩니다.예를 들어 다음과 같은 2차원 배열이 있다고 가정해 보겠습니다.const arr = [ [1, 1, 1], [2, 2, 2], [3, 3, 3], ];이 배열을 전치하면 각 행과 열이 뒤바뀌어 새로운 구조가 됩니다. 그렇다면 이를 코드로 어떻게 구현할 수 있을까요?구현 예제아래는 제자리(i

  2. JavaScript로 두 개의 2차원 배열 동등성 비교하기

    이번 글에서는 두 개의 2차원 배열을 인자로 받아, 두 배열이 서로 같은지 여부에 따라 불리언(Boolean) 값을 반환하는 JavaScript 함수를 작성해 보겠습니다. 여기서 말하는 배열의 동등성은 각 위치에 대응되는 요소들이 모두 같은지를 기준으로 판단합니다. 즉, 두 배열은 행(row)과 열(column)의 개수가 서로 동일해야 하며, 다음 조건을 만족해야 합니다. arr1[i][j] === arr2[i][j] 위 표현식은 i가 [0, 행의 개수) 범위, j가 [0, 열의 개수) 범위 내의 모든 값에 대해 true를 반환해

  3. JavaScript로 문자열 내 구두점 개수 세기

    영어에서 일반적으로 구두점(punctuation)으로 간주되는 문자들은 다음과 같습니다.!, ,, , ;, \, ., -, ?이번 글에서는 문자열을 입력받아 해당 문자열 안에 위 구두점들이 몇 번 등장하는지 계산한 뒤, 그 개수를 반환하는 JavaScript 함수를 작성해 보겠습니다.구현 아이디어핵심 로직은 간단합니다. 문자열의 각 문자를 하나씩 순회하면서, 해당 문자가 미리 정의해 둔 구두점 목록에 포함되어 있는지 확인하고, 포함되어 있다면 카운트를 1씩 증가시키면 됩니다.예제 코드실제 동작하는 함수를 작성해 보겠습니다. {

  4. JavaScript로 퀵 정렬(QuickSort) 구현하기 – 분할 정복 알고리즘 완벽 이해

    숫자 배열을 입력받아 퀵 정렬(Quick Sort) 알고리즘으로 정렬하는 JavaScript 함수를 작성해 보겠습니다. 퀵 정렬(QuickSort)이란? 퀵 정렬은 대표적인 분할 정복(Divide and Conquer) 방식의 정렬 알고리즘입니다. 각 순회 단계마다 배열에서 기준이 되는 피벗(pivot) 요소를 하나 선택하고, 피벗보다 작은 요소는 모두 왼쪽으로, 큰 요소는 모두 오른쪽으로 배치합니다(오름차순 정렬 기준이며, 내림차순일 경우 그 반대로 동작합니다). 이렇게 피벗을 기준으로 나뉜 좌우 두 구간에 같은 과정을 재귀적으로

  5. JavaScript에서 객체(Object)를 Map으로 변환하는 방법

    JavaScript 개발을 하다 보면 일반 객체(Object)를 Map 객체로 변환해야 하는 경우가 종종 있습니다. 다음과 같은 키-값 쌍으로 구성된 객체가 있다고 가정해 보겠습니다.const obj = { name: Vikas, age: 45, occupation: Frontend Developer, address: Tilak Nagar, New Delhi, experience: 23, };우리는 이렇게 키-값 쌍으로 이루어진 객체를 인수로 받아 Map 객체로 변환하는 JavaScript 함수를

  6. JavaScript 배열의 교차 곱셈 합계 구하는 방법

    문제 이해하기숫자 배열을 입력받아, 인접한 두 요소씩 짝지어 곱한 뒤 그 곱들을 모두 더한 값을 반환하는 JavaScript 함수를 작성해야 합니다. 쉽게 말해 0번째와 1번째 요소, 2번째와 3번째 요소처럼 두 개씩 묶어 곱하고, 각 곱셈 결과의 합을 구하는 방식입니다.예를 들어, 다음과 같은 배열이 있다고 가정해 보겠습니다.const arr = [1, 2, 4, 1, 2, 3, 4, 3];이 경우 출력값은 아래와 같은 과정으로 계산됩니다.1*2 + 4*1 + 2*3 + 4*3 = 2 + 4 + 6 + 12따라서 최종 출력 결과는

  7. JavaScript로 문자열 속 숫자 합계 구하기

    문제 개요문자열 사이사이에 섞여 있는 한 자리 숫자들을 모두 찾아 그 합계를 반환하는 JavaScript 함수를 작성해야 합니다.예를 들어 다음과 같은 문자열이 있다고 가정해 보겠습니다.const str = gdf5jhhj3hbj4hbj3jbb4bbjj3jb5bjjb5bj3;이 문자열에는 5, 3, 4, 3, 4, 3, 5, 5, 3이 포함되어 있으며, 이 숫자들을 모두 더하면 35가 됩니다.구현 예제이 문제를 해결하는 코드는 다음과 같습니다.const str = gdf5jhhj3hbj4hbj3jbb4bbjj3jb5bjjb5bj3;

  8. JavaScript switch 문으로 구현하는 문자열 기반 사칙연산 계산기

    문자열 형태의 수식을 입력받아 결과를 반환하는 JavaScript 함수를 작성해야 한다고 가정해 보겠습니다. 입력되는 문자열은 다음과 같은 형태입니다.4 add 6 6 divide 7 23 modulo 8즉, 문자열의 양쪽에는 두 개의 숫자가 위치하고, 그 사이에는 연산을 나타내는 키워드가 들어갑니다.지원하는 연산자가운데 위치한 연산 키워드는 아래 다섯 가지 중 하나입니다.add, divide, multiply, modulo, subtract각각 더하기, 나누기, 곱하기, 나머지, 빼기를 의미하며, 함수는 해당 연산을 수행한 후 올

  9. JavaScript로 숫자의 최대 자릿수와 최소 자릿수 차이 구하기

    이번 글에서는 하나의 숫자를 입력받아, 그 숫자를 이루는 각 자릿수 중 가장 큰 숫자와 가장 작은 숫자의 차이를 반환하는 JavaScript 함수를 작성해 보겠습니다. 문제 이해하기 예를 들어, 주어진 숫자가 5464676이라고 가정해 봅시다. 가장 작은 자릿수: 4 가장 큰 자릿수: 7 따라서 함수는 두 값의 차이인 3을 반환해야 합니다. 재귀 함수로 구현하기 이 문제는 재귀(Recursion)를 활용하면 간결하게 해결할 수 있습니다. 숫자를 10으로 나눈 나머지로 마지막 자릿수를 추출하고, 재귀 호출을 통해 남은 자릿수를

  10. 자바스크립트에서 객체를 배열로 변환하는 방법

    자바스크립트를 다루다 보면 객체(Object)에 담긴 데이터를 배열(Array) 형태로 변환해야 하는 경우가 자주 발생합니다. 예를 들어, 다음과 같이 키(key)와 값(value) 쌍으로 구성된 객체가 있다고 가정해 보겠습니다.const obj = { name: Vikas, age: 45, occupation: Frontend Developer, address: Tilak Nagar, New Delhi, experience: 23, salary: 98000 };여기서 우리가 작성해야 할

  11. JavaScript로 두 배열 합치기 – 중복 값은 한 번만 유지하는 방법

    문제 정의 다음과 같은 두 개의 숫자 배열이 있다고 가정해 보겠습니다. const arr1 = [2, 4, 5, 3, 7, 8, 9]; const arr2 = [1, 4, 5, 2, 3, 7, 6]; 두 배열을 하나로 병합하되, 중복된 값은 새 배열에 한 번만 포함되도록 하는 JavaScript 함수를 작성해야 합니다. 즉, 두 배열에 모두 존재하는 값이라도 최종 결과에는 딱 한 번만 나타나야 합니다. 구현 예제 반복문과 includes() 메서드를 활용해 문제를 해결해 보겠습니다. 두 배열을 차례대로 순회하면서, 결과 배열에 아

  12. JavaScript로 배열이 회문(팰린드롬)인지 확인하는 방법

    배열을 앞에서부터 읽었을 때와 뒤에서부터 읽었을 때 요소의 순서가 동일한 경우, 이를 회문(Palindrome)이라고 합니다. 예를 들어 [1, 5, 7, 4, 15, 4, 7, 5, 1] 배열은 어느 방향에서 읽어도 같은 순서를 가지므로 회문입니다.이번 글에서는 리터럴 값으로 이루어진 배열을 인자로 받아, 해당 배열이 회문인지 아닌지를 판별하는 JavaScript 함수를 작성해 보겠습니다.구현 아이디어가장 효율적인 방법은 배열의 양쪽 끝부터 중앙을 향해 두 요소씩 짝지어 비교하는 것입니다. 배열 길이의 절반만 순회하면 되기 때문에

  13. JavaScript에서 숫자를 n 길이의 배열로 나누는 방법

    문제 이해하기두 개의 숫자 m과 n을 입력받아, 크기가 n인 배열을 반환하는 JavaScript 함수를 작성해야 합니다. 조건은 배열의 모든 요소를 더했을 때 그 합이 정확히 m이 되어야 한다는 것입니다.가장 직관적인 해결 방법은 합계(m)를 배열 길이(n)로 나눈 값을 모든 요소에 균등하게 배분하는 것입니다. 요소들이 모두 같은 값을 가지면 전체 합은 자연스럽게 m과 일치하게 됩니다.코드 구현다음은 이 로직을 구현한 코드입니다.const len = 8; const sum = 5; const splitNumber = (len, su

  14. 자바스크립트로 버블 정렬(Bubble Sort) 구현하기

    버블 정렬(Bubble Sort)은 가장 기본적인 정렬 알고리즘 중 하나로, 인접한 두 요소를 반복적으로 비교하고 순서가 올바르지 않으면 서로 교환하는 방식으로 동작합니다. 이 과정을 배열 전체에 대해 반복하면 큰 값이 거품이 떠오르듯 배열의 끝으로 밀려나게 되어 버블 정렬이라는 이름이 붙었습니다. 이번 글에서는 리터럴 값으로 이루어진 배열을 입력받아 버블 정렬 방식으로 오름차순 정렬하는 자바스크립트 함수를 작성해 보겠습니다. 버블 정렬의 동작 원리 배열의 처음부터 인접한 두 요소를 차례대로 비교합니다. 앞의 요소가 뒤의 요소보다

  15. 자바스크립트로 배열에서 n번째 요소들의 합 구하기

    자바스크립트를 사용하다 보면 배열에서 특정 간격으로 떨어진 요소들만 골라 합산해야 하는 경우가 종종 있습니다. 이번 글에서는 숫자 배열과 정수 n을 입력받아, 인덱스가 n의 배수인 위치에 있는 모든 요소의 누적 합을 반환하는 함수를 만드는 방법을 알아보겠습니다.문제 정의예를 들어 다음과 같은 배열이 있다고 가정해봅시다.const arr = [1, 4, 5, 3, 5, 6, 12, 5, 65, 3, 2, 65, 9];const num = 2;여기서 n = 2라면, 인덱스 0, 2, 4, 6, 8, 10, 12에 있는 요소들을 더해야

  16. JavaScript로 내일과 모레 날짜 구하는 방법

    개요JavaScript의 Date 클래스는 new Date() 객체를 생성하면 현재 날짜와 시간을 반환합니다. 이를 활용하면 내일과 모레의 날짜도 손쉽게 계산할 수 있습니다.이 문제는 비교적 간단하며, 단 몇 줄의 코드만으로 해결할 수 있습니다. 핵심은 setDate() 메서드와 getDate() 메서드를 조합하는 것입니다.오늘 날짜 가져오기먼저 오늘 날짜를 구하는 코드부터 살펴보겠습니다.// 오늘 날짜 가져오기const today = new Date();new Date()는 호출된 시점의 현재 날짜와 시간 정보를 담은 Date 객

  17. 수학 라이브러리 없이 완전제곱수 판별하기 - JavaScript

    이번 글에서는 Math.sqrt() 같은 수학 라이브러리 함수를 전혀 사용하지 않고, 주어진 숫자가 완전제곱수(perfect square)인지 판별하는 JavaScript 함수를 작성해 보겠습니다. 함수는 숫자를 인자로 받아, 해당 숫자가 완전제곱수라면 true, 아니라면 false를 반환해야 합니다.완전제곱수란?완전제곱수는 어떤 정수를 제곱했을 때 얻어지는 수를 말합니다. 예를 들어 다음과 같은 수들이 완전제곱수에 해당합니다.4 (=2²), 16 (=4²), 81 (=9²), 441 (=21²), 256 (=16²), 729 (=

  18. JavaScript로 두 문자열 연결하기 – 중복되는 문자는 하나만 남기는 방법

    두 개의 문자열을 인자로 받아, 두 번째 문자열을 첫 번째 문자열 뒤에 이어 붙이는 JavaScript 함수를 작성해야 합니다.단, 조건이 있습니다. 첫 번째 문자열의 마지막 문자와 두 번째 문자열의 첫 번째 문자가 서로 같다면, 중복된 문자 중 하나는 생략하고 연결해야 합니다.예를 들어 다음과 같은 두 문자열이 있다고 가정해 보겠습니다.const str1 = Food;const str2 = dog;Food의 마지막 문자인 d와 dog의 첫 번째 문자인 d가 동일합니다. 만약 단순히 두 문자열을 이어 붙이면 Fooddog처럼 d가

  19. JavaScript - 문자열에서 처음 n개의 문자 제거하기

    이번 글에서는 문자열과 숫자 n을 입력받아, 해당 문자열에서 처음 n개의 문자를 제거한 새로운 문자열을 반환하는 JavaScript 함수를 작성해 보겠습니다.문제 이해하기예를 들어 원본 문자열이 다음과 같고,const str = this is a stringn = 5라고 가정하면, 앞의 5개 문자(this )가 제거되어 출력 결과는 다음과 같아야 합니다.const output = is a string구현 방법이 함수는 두 가지 경우를 고려해야 합니다. 첫째, 제거할 문자 수(n)가 문자열 전체 길이보다 크다면 모든 문자가 제거되므로

  20. JavaScript로 주어진 금액을 만들기 위한 최소 화폐 개수 구하기

    문제 소개1000, 500, 100, 50, 20, 10, 5, 2, 1 단위의 화폐 체계가 있다고 가정해 보겠습니다. 특정 금액이 주어졌을 때, 이 금액을 정확히 맞추기 위해 필요한 최소한의 화폐 개수를 계산하는 함수를 JavaScript로 작성해야 합니다.예시예를 들어 금액이 512라고 가정하면, 다음과 같은 조합이 최소 개수입니다.512를 만드는 데 필요한 최소 화폐 조합:500 단위 1장, 10 단위 1개, 2 단위 1개따라서 금액이 512일 때 함수는 총 화폐 개수인 3을 반환해야 합니다.접근 방식: 그리디 알고리즘이 문제

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:97/297  20-컴퓨터/Page Goto:1 91 92 93 94 95 96 97 98 99 100 101 102 103