전체 글

전체 글

    [프로그래머스 Level 2] 멀리 뛰기 - JavaScript

    [프로그래머스 Level 2] 멀리 뛰기 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n) { const dp = Array(n + 1).fill(0); dp[1] = 1; dp[2] = 2; for (let i = 3; i = 3)이 성립한다.

    [백준 2230 - Node.js] 수 고르기

    [백준 2230 - Node.js] 수 고르기

    🔗 문제 링크 https://www.acmicpc.net/problem/2230 2230번: 수 고르기 N개의 정수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에서 두 수를 골랐을 때(같은 수일 수도 있다), 그 차이가 M 이상이면서 제일 작은 경우를 구하는 프로그램을 작성하시오. 예를 들어 www.acmicpc.net ✏️ 풀이 const [NM, ...input] = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n'); const [N, M] = NM.split(' ').map(Number); const arr = input.map(Number); arr.sort((a, b) => a - b);..

    [HackerRank - Easy] Beautiful Pairs - JavaScript

    [HackerRank - Easy] Beautiful Pairs - JavaScript

    🔗 문제 링크 https://www.hackerrank.com/challenges/beautiful-pairs/problem?isFullScreen=true Beautiful Pairs | HackerRank Change an element of B and calculate the number of pairwise disjoint beautiful pairs. www.hackerrank.com ✏️ 풀이 function beautifulPairs(A, B) { const getIntegers = (arr) => arr.reduce((acc, v) => { if (acc[v]) { acc[v]++; } else { acc[v] = 1; } return acc; }, {}); const intA = getI..

    [HackerRank - Easy] Ice Cream Parlor - JavaScript

    [HackerRank - Easy] Ice Cream Parlor - JavaScript

    🔗 문제 링크 https://www.hackerrank.com/challenges/icecream-parlor/problem?isFullScreen=true Ice Cream Parlor | HackerRank Help Sunny and Johnny spend all their money during each trip to the Ice Cream Parlor. www.hackerrank.com ✏️ 풀이 function icecreamParlor(m, arr) { const prices = arr.reduce((acc, v) => { if (acc[v]) { acc[v]++; } else { acc[v] = 1; } return acc; }, {}); const firstPrice = Number( O..

    [백준 6588 - Node.js] 골드바흐의 추측

    [백준 6588 - Node.js] 골드바흐의 추측

    🔗 문제 링크 https://www.acmicpc.net/problem/6588 6588번: 골드바흐의 추측 각 테스트 케이스에 대해서, n = a + b 형태로 출력한다. 이때, a와 b는 홀수 소수이다. 숫자와 연산자는 공백 하나로 구분되어져 있다. 만약, n을 만들 수 있는 방법이 여러 가지라면, b-a가 가장 큰 www.acmicpc.net ✏️ 풀이 const input = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n') .map(Number); const primeNums = []; const nums = Array(1_000_000 + 1).fill(true); nums[0] = false; nums[1] ..

    [백준 11660 - Node.js] 구간 합 구하기 5

    [백준 11660 - Node.js] 구간 합 구하기 5

    🔗 문제 링크 https://www.acmicpc.net/problem/11660 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net ✏️ 풀이 const [[N, M], ...input] = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n') .map(v => v.split(' ').map(Number)); const table = Array.from({ length: N + 1 }, ()..

    [프로그래머스 Level 2] 점프와 순간 이동 - JavaScript

    [프로그래머스 Level 2] 점프와 순간 이동 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12980 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n) { let consumption = 0; while (n) { if (n % 2) { n = (n - 1) / 2; consumption++; } else { n /= 2; } } return consumption; } 순간 이동을 할 때에는 건전지를 사용하지 않으므로 최대한 많이 순간 이동을 해야 한다.만약 이전 위치에서 현재 위치로..

    [프로그래머스 Level 2] 올바른 괄호 - JavaScript

    [프로그래머스 Level 2] 올바른 괄호 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(s){ let stack = 0; for (const char of s) { if (char === '(') { stack++; } else { stack--; } if (stack < 0) { return false; } } return !stack; } 문자열 s를 순회하면서 열린 괄호가 나오면 1을 증가시키고, 닫힌 괄호가 나오면 1을..

    [HackerRank - Easy] Weighted Uniform Strings - JavaScript

    [HackerRank - Easy] Weighted Uniform Strings - JavaScript

    🔗 문제 링크 https://www.hackerrank.com/challenges/weighted-uniform-string/problem Weighted Uniform Strings | HackerRank Determine if a string contains uniform substrings of certain weights. www.hackerrank.com ✏️ 풀이 function weightedUniformStrings(s, queries) { const chars = {}; s.match(/(.)\1{0,}/g).forEach(str => { if (!chars[str[0]]) { chars[str[0]] = str.length; } else { chars[str[0]] = Math.max(..

    [백준 1743 - Node.js] 음식물 피하기

    [백준 1743 - Node.js] 음식물 피하기

    🔗 문제 링크 https://www.acmicpc.net/problem/1743 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net ✏️ 풀이 const [[N, M, K], ...input] = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n') .map(v => v.split(' ').map(Number)); const corridor = [...Array(N)].map(() => Arr..