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

JavaScript

  1. 문자열 형태의 이진수를 10진수 숫자로 변환하는 JavaScript 프로그램

    이번 글에서는 문자열 형태로 입력받은 이진수(binary number)를 10진수(base 10) 값으로 변환하여 반환하는 JavaScript 함수를 작성해 보겠습니다.구현 방법은 생각보다 간단합니다. for 반복문을 사용해 문자열을 한 글자씩 순회하면서, 지금까지 계산한 값을 2배로 곱한 뒤 현재 비트의 값을 더해 주면 됩니다. 이는 왼쪽에서 오른쪽으로 자릿수를 이동하며 값을 누적하는 방식과 동일합니다.예제 코드const binaryToDecimal = binaryStr => { let num = 0; for(

  2. JavaScript에서 두 문자열을 비교해 서로의 부분 문자열인지 확인하는 방법

    개요 이번 글의 핵심 아이디어는 두 개의 문자열을 입력받아, 한 문자열이 다른 문자열에 포함되어 있다면(즉, 둘이 부분 문자열 관계라면) true를 반환하고, 그렇지 않다면 false를 반환하는 함수를 만드는 것입니다. 예를 들어 다음과 같습니다. isSubstr(hello, hello world) // true isSubstr(can I use, I us) // true isSubstr(can, no we are) // false 따라서 함수 내부에서는 먼저 어느 쪽이 더 긴 문자열인지(문자 수가 더 많은 쪽) 판별한

  3. JavaScript에서 JSON 데이터를 조건에 맞게 선택적으로 추출하는 방법

    JSON 파일에서 원하는 값만 골라내기JavaScript 개발을 하다 보면 JSON 파일에 담긴 데이터 중에서 특정 조건을 만족하는 값만 추출해야 하는 경우가 자주 발생합니다. 이번 글에서는 readable 속성이 true인 객체만 필터링하여 반환하는 함수를 만드는 방법을 예제와 함께 살펴보겠습니다.다음과 같은 데이터가 담긴 JSON 파일 data.json이 있다고 가정해 보겠습니다.data.json{ names: [{ name: Ramesh, readable: true }, {

  4. JavaScript로 합이 가장 큰 하위 배열의 인덱스 찾기

    문제 이해숫자들을 담고 있는 배열의 배열(2차원 배열)이 주어졌을 때, 각 하위 배열의 요소 합계를 계산하여 그 합이 가장 큰 하위 배열의 인덱스를 반환하는 함수를 작성해야 합니다. 만약 최대 합을 가진 하위 배열이 여러 개라면, 가장 먼저 등장하는 하위 배열의 인덱스를 반환해야 합니다.예를 들어 다음과 같은 배열이 있다고 가정해 보겠습니다.const arr = [[4, 5, 1, 3], [13, 27, 18, 26], [32, 35, 37, 39], [1000, 1001, 857, 1]];각 하위 배열의 합은 순서대로 13, 84

  5. 특수 문자 위치를 유지하며 배열을 뒤집는 JavaScript 솔루션

    이번 글에서 다룰 문제는 배열을 뒤집는 함수를 작성하되, 배열 안에 포함된 특수 문자의 인덱스는 그대로 유지해야 하는 상황입니다.예를 들어 특수 문자가 #이라고 가정했을 때, 다음과 같은 배열이 주어지면,[18,-4,#,0,8,#,5]결과는 아래와 같아야 합니다.[5, 8, #, 0, -4, #, 18]숫자들은 뒤집히지만, 특수 문자 #은 자신이 있던 인덱스에 그대로 머물러 있습니다. 그럼 코드를 작성해 보겠습니다.접근 방법: 두 포인터(Two-Pointer) 기법이 문제는 두 포인터(two-pointer) 방식으로 해결할 수 있습

  6. JavaScript로 범용 계산기 함수 만들기: 사칙연산을 한 번에 처리하는 방법

    개요이번 글에서는 JavaScript로 calculator() 함수를 작성해 보겠습니다. 이 함수는 첫 번째 인수로 네 가지 연산자 문자(+, -, *, /) 중 하나를 받고, 그 뒤로 임의 개수의 숫자 리터럴을 전달받습니다. 함수의 역할은 첫 번째 인수로 지정된 연산을 나머지 숫자들 전체에 적용한 결과를 반환하는 것입니다.연산이 덧셈(+)이나 곱셈(*)이라면 모든 요소에 동일한 연산을 순서대로 수행하면 됩니다. 하지만 연산이 뺄셈(-)이나 나눗셈(/)이라면 첫 번째 요소를 기준값으로 삼아, 나머지 모든 요소를 기준값에서 빼거나 기

  7. JavaScript에서 배열의 객체 필터링하기 – null 및 빈 문자열 값 제거 방법

    회사 직원 정보를 담은 객체 배열이 있다고 가정해 봅시다. 그런데 이 배열에는 빈 문자열()이나 null처럼 유효하지 않은 데이터가 섞여 있습니다. 이번 글에서는 배열을 인자로 받아 name 키의 값이 null, undefined 또는 빈 문자열인 객체를 걸러낸 뒤, 정리된 새로운 배열을 반환하는 함수를 작성해 보겠습니다.문제가 되는 객체 배열은 다음과 같습니다.let data = [{ name: Ramesh Dhiman, age: 67, experience: 45, description: }, {

  8. 자바스크립트로 엄격하게 증가하는 수열 판별하기: 요소 하나만 제거하면 될까?

    정수들이 담긴 배열로 표현된 수열이 주어졌을 때, 최대 한 개의 요소만 제거해서 엄격하게 증가하는(strictly increasing) 수열을 만들 수 있는지 판별하는 문제를 살펴보겠습니다. 예를 들면 다음과 같습니다. sequence = [1, 3, 2, 1] → 결과는 false입니다. 어떤 요소를 하나 제거하더라도 엄격하게 증가하는 수열을 만들 수 없습니다. sequence = [1, 3, 2] → 결과는 true입니다. 3을 제거하면 [1, 2]가 되고, 대신 2를 제거하면 [1, 3]이 되어 두 경우 모두 조건을 만족

  9. JavaScript에서 두 배열의 값이 같은지 확인하는 방법

    JavaScript를 사용하다 보면 두 배열이 순서와 상관없이 동일한 요소를 담고 있는지 확인해야 하는 경우가 자주 있습니다.문제 정의예를 들어 다음과 같은 두 개의 숫자 배열이 있다고 가정해 보겠습니다.[2, 4, 6, 7, 1] [4, 1, 7, 6, 2]두 배열은 요소의 순서는 다르지만, 실제로 포함하고 있는 값은 완전히 동일합니다. 이처럼 순서에 관계없이 두 배열이 같은 요소들을 가지고 있는지 판별하여 불리언(Boolean) 값을 반환하는 함수를 작성해야 합니다.즉, [2, 4, 6, 7, 1]과 [4, 1, 7, 6, 2]

  10. JavaScript 배열의 모든 값 사이에 값 삽입하기

    JavaScript 배열 요소 사이에 연산자 삽입하기다음과 같은 숫자 배열이 있다고 가정해 보겠습니다.const numbers = [1, 6, 7, 8, 3, 98];이 숫자 배열을 객체 배열로 변환해야 합니다. 각 객체는 value라는 키를 가지며, 그 값은 배열 요소의 실제 값입니다. 여기에 더해, 기존 두 요소 사이마다 operation이라는 키를 가진 객체를 삽입하고, 그 값으로 +, -, *, / 연산자를 번갈아 가며 사용해야 합니다.따라서 numbers 배열의 경우 최종 출력 결과는 다음과 같은 형태가 됩니다.[

  11. 자바스크립트에서 여러 요소를 배열의 맨 앞으로 이동하는 방법

    배열과 임의 개수의 문자열을 인수로 받는 함수를 작성해야 하는 경우가 있습니다. 이 함수의 역할은 전달된 문자열이 배열 안에 존재하는지 확인하고, 존재한다면 해당 요소를 배열의 맨 앞으로 이동시키는 것입니다.이 문제는 Array.prototype.splice()와 Array.prototype.unshift() 메서드를 조합하면 간단하게 해결할 수 있습니다. splice()는 지정한 위치의 요소를 배열에서 제거하면서 그 값을 반환하고, unshift()는 새로운 요소를 배열의 맨 앞에 추가합니다.예제 코드const arr = [The

  12. JavaScript 두 배열 매칭하기: 이름 배열로 UID 배열 만들기

    문제 상황두 개의 배열이 있다고 가정해 보겠습니다. 하나는 사용자 정보를 담은 객체 배열이고, 다른 하나는 사용자 이름 문자열 배열입니다.const data = [{    name: Kamlesh Kapasi,    uid: 123}, {    name: Mahesh Babu,    uid: 129}, {    name: Akshay Kapoor, 

  13. JavaScript로 주어진 좌표점으로부터 오름차순 거리 순서대로 포인트 배열 정렬하기

    각 객체가 점의 좌표를 나타내는 x와 y라는 두 개의 속성을 가진 객체 배열이 있다고 가정해 봅시다. 우리는 이 배열과 특정 점의 x, y 좌표를 담은 객체를 인자로 받아, 배열 안의 점들을 주어진 점으로부터의 거리(가까운 순에서 먼 순으로)에 따라 정렬하는 함수를 작성해야 합니다.거리 공식거리 공식은 2차원 평면 위의 두 점 (x1, y1)과 (x2, y2) 사이의 최단 거리를 구하는 수학적 공식입니다.$S=\sqrt{((x2-x1)^2+(y2-y1)^2)}$우리는 이 공식을 활용하여 각 점이 주어진 점으로부터 얼마나 떨어져 있는

  14. JavaScript 재귀 함수로 합산 후 자릿수 곱 구하기

    이번 글에서는 임의 개수의 숫자 인자를 받아 모두 더한 뒤, 그 결과가 한 자리 숫자가 될 때까지 각 자릿수를 계속 곱하는 JavaScript 함수를 만들어 보겠습니다.문제 이해하기예를 들어 인자가 다음과 같이 주어졌다고 가정해 보겠습니다.16, 34, 42먼저 세 숫자를 모두 더합니다.16 + 34 + 42 = 92그다음 결과값이 한 자리 숫자가 될 때까지 자릿수끼리 곱을 반복합니다.9 * 2 = 181 * 8 = 8최종적으로 한 자리 숫자인 8에 도달하면, 함수는 이 값을 반환하면 됩니다.풀이 접근 방식이 문제는 두 개의 함수로

  15. JavaScript에서 배열의 모든 0을 끝으로 이동하는 알고리즘 작성하기

    문제 개요배열을 입력받아 배열에 포함된 모든 0(zero)을 추가 공간을 사용하지 않고 배열의 끝으로 이동시키는 함수를 작성해야 합니다. 이 문제는 Array.prototype.splice()와 Array.prototype.push() 메서드를 활용하면 간단하게 해결할 수 있습니다.해결 접근 방식핵심 아이디어는 다음과 같습니다.배열을 순회하면서 값이 0인 요소를 발견하면 해당 위치에서 요소를 제거합니다.제거한 요소를 즉시 배열의 맨 뒤에 추가(push)합니다.요소가 제거되면서 뒤의 요소들이 한 칸씩 앞으로 당겨지므로, 인덱스를 1

  16. JavaScript에서 문자열 플레이스홀더를 단어로 치환하는 방법

    문자열 플레이스홀더 치환 함수 만들기첫 번째 인수로 문자열을 받고, 그 뒤에 임의 개수의 단어들을 추가로 받는 translate() 함수를 작성해야 한다고 가정해 보겠습니다.이 문자열에는 다음과 같이 여러 개의 $ 기호가 포함되어 있습니다.This $0 is more $1 just a $2.그리고 함수 호출 시 전달된 3개의 단어가 각각 해당 자리를 대체하게 됩니다.예를 들어 함수 호출이 다음과 같다면,translate(This $0 is more $1 just a $2., game, than, game);함수의 출력 결과는 다음과

  17. 자바스크립트 Two Sum 문제, 해시맵으로 O(n) 선형 시간에 풀기

    이번 글에서는 정수 배열에서 합이 특정 목표값(target)이 되는 두 숫자를 찾는 Two Sum(두 수의 합) 문제를 선형 시간, 즉 O(n) 안에 해결하는 자바스크립트 함수를 작성해 보겠습니다. Two Sum 문제란? 정수로 이루어진 배열이 하나 주어지고, 그중 두 숫자를 골라 그 합이 특정 목표값과 정확히 일치하도록 만들어야 합니다. twoSum 함수는 조건을 만족하는 두 숫자의 인덱스를 배열 형태로 반환해야 하며, 어떤 두 요소의 합도 목표값이 되지 않는다면 빈 배열([])을 반환해야 합니다. 해시맵으로 O(n) 시간에 풀기

  18. JavaScript로 문자열을 반복해 원하는 길이의 배열 만들기

    문제 정의문자열의 문자를 순서대로 반복하면서, 지정한 개수(limit)에 도달할 때까지 배열을 생성하는 함수를 작성해야 합니다. 예를 들어 문자열 aba와 limit 값 5가 주어진 경우를 생각해 봅시다.string = aba, limit = 5 → 결과 배열 [a, b, a, a, b]즉, 문자열의 각 문자를 앞에서부터 하나씩 꺼내 배열에 채우고, 문자열의 끝에 도달하면 다시 처음부터 순환하며 limit개가 될 때까지 반복하는 것이 핵심입니다.구현 코드이 문제는 나머지 연산자(%)를 활용하면 매우 간결하게 해결할 수 있습니다. 인

  19. JavaScript 배열에서 첫 번째 비연속 숫자의 인덱스 찾는 방법

    배열을 입력받아 그 안에서 첫 번째로 연속성이 깨진 숫자(non-consecutive number)의 인덱스를 반환하는 함수를 작성해 보겠습니다.여기서 배열의 모든 숫자는 공차가 1인 등차수열을 이룬다고 가정합니다. 예를 들어 [1, 2, 3, 4]처럼 각 숫자가 바로 앞 숫자보다 정확히 1씩 커지는 형태입니다. 만약 어떤 숫자가 이 규칙을 위반한다면(즉, 이전 숫자와의 차이가 1이 아니라면), 해당 숫자의 인덱스를 반환하면 됩니다.반대로 배열의 모든 숫자가 완벽하게 연속적이라면 -1을 반환합니다.구현 코드배열을 한 번만 순회하면서

  20. JavaScript로 재귀적으로 자릿수의 합을 한 자리 숫자로 줄이는 방법

    숫자를 인수로 받아 각 자릿수를 계속 더한 뒤, 결과가 한 자리 숫자가 되었을 때 그 값을 반환하는 함수를 작성해야 합니다.예를 들어 88이 주어지면 먼저 8 + 8 = 16을 계산합니다. 16은 아직 두 자리 숫자이므로 다시 1 + 6 = 7을 계산하고, 7은 한 자리 숫자이므로 최종 결과로 7을 반환하면 됩니다.접근 방법구현 방법은 매우 간단합니다. 숫자가 9보다 크거나 -9보다 작은 동안, 즉 두 자리 이상인 동안 각 자릿수를 계속해서 더하는 재귀 함수를 작성하면 됩니다. 부호 관련 로직을 두 번 작성하지 않도록, 음수 여부는

Total 5929 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:119/297  20-컴퓨터/Page Goto:1 113 114 115 116 117 118 119 120 121 122 123 124 125