연습장
![[프로그래머스 Level 2] 피로도 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fq7ytE%2FbtrQrEexfkA%2FAAAAAAAAAAAAAAAAAAAAAKz_pO9N_FEgBOwWdNR1TskB9mPusdAx2GrwDpAD-Icm%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DA2M92b7qa0Vh30wvXYf3OIDOMo0%253D)
[프로그래머스 Level 2] 피로도 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(k, dungeons) { let maxCount = 0; const dfs = (fatigue, count, visited) => { let isEnd = true; for (let i = 0; i fatigue) { continu..
![[프로그래머스 Level 2] 할인 행사 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FXLkr9%2FbtrQq27WtqR%2FAAAAAAAAAAAAAAAAAAAAAOpWAnJmVzYDvtGK-56sxUfD5r-2FLf2VRljTO9hGsax%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DYyVQ8N9xz2mFi1ouVXY1Tad0CTM%253D)
[프로그래머스 Level 2] 할인 행사 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(want, number, discount) { const map = want.reduce((acc, v, i) => { acc.set(v, number[i]); return acc; }, new Map()); const check = () => { let flag = true; for (const [, count] of map) { if ..
![[프로그래머스 Level 2] 혼자 놀기의 달인 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FrLrCb%2FbtrQpIoFNt1%2FAAAAAAAAAAAAAAAAAAAAADlh_5RwzFdE2X_pPDQTTVFIlk5VhsA6RSuCVNlhPEL3%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DyqdGTaSi5Ay%252FmDpfVDgmrRSlOcE%253D)
[프로그래머스 Level 2] 혼자 놀기의 달인 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/131130 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(cards) { const openBoxes = (start, opened) => { let box = start; let count = 0; while (!opened[box]) { opened[box] = true; box = cards[box] - 1; count++; } return count; }; let maxScore = 0;..
![[프로그래머스 Level 2] 연속 부분 수열 합의 개수 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FqUk6o%2FbtrQp7BfWrC%2FAAAAAAAAAAAAAAAAAAAAAGQ_h3GER8feCEYEWsfM0Wbxq7B9PqYQTsmrjF1cPgBe%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dw3N1SJ9BshXfjTvzrX13p%252FIOceQ%253D)
[프로그래머스 Level 2] 연속 부분 수열 합의 개수 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/131701 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(elements) { const set = new Set(); for (let i = 1; i elements.length) { seq = [...seq, ...elements.slice(0, i + j - elements.length)]; } const sum = seq.reduce((acc, v) => acc + v, 0); set.a..
![[프로그래머스 Level 2] 롤케이크 자르기 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbXaYyR%2FbtrPRAkIk40%2FAAAAAAAAAAAAAAAAAAAAAIwNP-VrkCSExNk24nggF41pgpcqz2O4wizocVjEauXg%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Da3C6KbIZv19SeXF%252B89%252F2gETwhdQ%253D)
[프로그래머스 Level 2] 롤케이크 자르기 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(topping) { const left = {}; const right = topping.reduce((acc, v) => { acc[v] = (acc[v] ?? 0) + 1; return acc; }, {}); let leftCount = 0; let rightCount = new Set(topping).size; let answer =..
![[프로그래머스 Level 2] 야간 전술보행 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcckWXy%2FbtrPPMFiChS%2FAAAAAAAAAAAAAAAAAAAAADpLXNMrh2uGEv7tt6d3aTwuaFk7FXyW_eUtVEPNkIe0%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dxoc4sQ0YM5ytPDyz15siWAqTeGc%253D)
[프로그래머스 Level 2] 야간 전술보행 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/133501 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(distance, scope, times) { const guard = scope .map((v, i) => ({ scope: v.sort((a, b) => a - b), time: times[i] })) .sort((a, b) => a.scope[0] - b.scope[0]); let i = guard[0].scope[0]; let j ..
![[LeetCode] Top Interview Problems 3. Longest Substring Without Repeating Characters - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fcs7x60%2FbtrPFzdyooH%2FAAAAAAAAAAAAAAAAAAAAAA0tdEHO4teNDJbMBNOhvDm0i5PzPZ2CPZEIr2-vSBVK%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3De3yerww%252F2TD0Zsd8gC3xGBNe%252FYI%253D)
[LeetCode] Top Interview Problems 3. Longest Substring Without Repeating Characters - JavaScript
🔗 문제 링크 https://leetcode.com/problems/longest-substring-without-repeating-characters/ Longest Substring Without Repeating Characters - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ✏️ 풀이 var lengthOfLongestSubstring = function(s) { if (!s.length) { return 0; } const map = new Map..
![[LeetCode] Top Interview Problems 2. Add Two Numbers](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FpBQPt%2FbtrPwZFvskE%2FAAAAAAAAAAAAAAAAAAAAABT43tVQR0JHznll8J5KYE736629HNXxGnW2OdL8_K4Y%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D%252Bwiq64ASUsu55Yyo9AHYTxLRpwI%253D)
[LeetCode] Top Interview Problems 2. Add Two Numbers
🔗 문제 링크 https://leetcode.com/problems/add-two-numbers/ Add Two Numbers - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com ✏️ 풀이 var addTwoNumbers = function(l1, l2) { const getNumber = (listNode) => { let node = listNode; let num = ''; while (node) { num += node.val; node = node.nex..
![[백준 3190 - Node.js] 뱀](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FcrXwVA%2FbtrPoReuoci%2FAAAAAAAAAAAAAAAAAAAAAMb-u03hIaizI68G-zzI9pwBlo5jd4moP4MfPebECD1M%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DjT23vF3CmWNAIG%252FtKG4nDHruhg4%253D)
[백준 3190 - Node.js] 뱀
🔗 문제 링크 https://www.acmicpc.net/problem/3190 3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net ✏️ 풀이 const input = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n'); const [N, K] = input.slice(0, 2).map(Number); const apples = input.slice(2, 2 + K).map(v => v.split(' ').map(Number)); cons..
![[백준 14500 - Node.js] 테트로미노](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FlcfAp%2FbtrPcWB1UrW%2FAAAAAAAAAAAAAAAAAAAAAFWRK9zSxorV_1sxmBjNyUQIzDJO_9WST7flnFs1fme2%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D2mR6VzqTVr7QaEWYguljzk%252BijHw%253D)
[백준 14500 - Node.js] 테트로미노
🔗 문제 링크 https://www.acmicpc.net/problem/14500 14500번: 테트로미노 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변 www.acmicpc.net ✏️ 풀이 const [[N, M], ...paper] = require('fs') .readFileSync('/dev/stdin') .toString() .trim() .split('\n') .map(v => v.split(' ').map(Number)); const maxValue = paper .reduce( (acc, row) => Math.max(acc, row.reduce..