연습장/프로그래머스 문제풀이

    [프로그래머스 Level 3] N으로 표현 - JavaScript

    [프로그래머스 Level 3] N으로 표현 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(N, number) { const dp = Array.from({ length: 9 }, () => new Set()); dp[1].add(N); for (let i = 1; i num2) { dp[i].add(num1 - num2); } if (num2 > 0) { dp[i].add(Math.floor(num1 / num2)); } 이렇게..

    [프로그래머스 Level 2] 프린터 - JavaScript

    [프로그래머스 Level 2] 프린터 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(priorities, location) { const docs = priorities.map((priority, index) => ({ priority, index })); let order = 1; while (true) { const { priority, index } = docs.shift(); if (docs.some(({ prior..

    [프로그래머스 Level 2] 괄호 회전하기 - JavaScript

    [프로그래머스 Level 2] 괄호 회전하기 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/76502# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(s) { const opening = ['(', '{', '[']; const closing = [')', '}', ']']; let count = 0; for (let i = 0; i < s.length; i++) { const rotated = s.slice(i) + s.slice(0, i); const stack = []; let i..

    [프로그래머스 Level 2] 행렬의 곱셈 - JavaScript

    [프로그래머스 Level 2] 행렬의 곱셈 - JavaScript

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

    [프로그래머스 Level 3] 입국심사 - JavaScript

    [프로그래머스 Level 3] 입국심사 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/43238 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, times) { let low = 1n; let high = 1_000_000_000n ** 2n; while (low acc + mid / BigInt(time), 0n); if (people < n) { low = mid + 1n; } else { high = mid - 1n; } } return low; } 심사관 1명이 1명 심..

    [프로그래머스 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)이 성립한다.

    [프로그래머스 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을..

    [프로그래머스 Level 2] 귤 고르기 - JavaScript

    [프로그래머스 Level 2] 귤 고르기 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(k, tangerine) { const counts = {}; tangerine.forEach(v => counts[v] = (counts[v] ?? 0) + 1); const sortedCounts = Object.values(counts).sort((a, b) => a - b); const restCount = tangerine.len..

    [프로그래머스 Level 2] 디펜스 게임 - JavaScript

    [프로그래머스 Level 2] 디펜스 게임 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, k, enemy) { if (enemy.length 0 && heap[index] < heap[parent]) { [heap[index], heap[parent]] = [heap[parent], heap[index]]; index = parent; parent = Math.floor((index - 1) / 2); } } pop() ..