
전체 글
![[프로그래머스 Level 1] 대충 만든 자판 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FctSWak%2FbtsIUMX683u%2FAAAAAAAAAAAAAAAAAAAAAIpXPoCOPJEeAKaPibebjgbeXXhtSlmhgYWHaZdW3sAV%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3Dw0kgTrQJ3TbM%252Fki00Vp8VZWzn%252BA%253D)
[프로그래머스 Level 1] 대충 만든 자판 - JavaScript
🔗 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/160586✏️ 풀이function solution(keymap, targets) { const minimumCountMap = keymap .reduce((acc, v) => ({ ...acc, ...[...v].reduce((keyAcc, char, i) => ({ ...keyAcc, [char]: Math.min( (keyAcc[char] ?? Number.MAX_VALUE), (acc[char] ?? Nu..
![[프로그래머스 Level 1] 개인정보 수집 유효기간 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fc2vh5i%2FbtsHtIDVuZ0%2FAAAAAAAAAAAAAAAAAAAAACv0TRHMSKRCZlFJ8PnTADH3FvvKh3dD5J0vycS482jZ%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DfnzY8bvcbHBJ%252Fa3BrlcMKQ73foI%253D)
[프로그래머스 Level 1] 개인정보 수집 유효기간 - JavaScript
🔗 문제 링크https://school.programmers.co.kr/learn/courses/30/lessons/150370✏️ 풀이function solution(today, terms, privacies) { const termPeriodMap = terms.reduce((acc, term) => { const [termName, period] = term.split(' '); acc[termName] = Number(period); return acc; }, {}); const isExpired = (privacy) => { const [date, term] = privacy.split(' '); const ..
![[프로그래머스 Level 2] 전화번호 목록 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FbjUQaq%2Fbtsp33rIboO%2FAAAAAAAAAAAAAAAAAAAAAC48A7pg19kA-jGS5ix0klGmJIDhYnxNLaXi410SxAh8%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DtI%252FS9Rz4KWZGRbhlgl7DY6h9d40%253D)
[프로그래머스 Level 2] 전화번호 목록 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(phone_book) { return !phone_book .sort() .some((number, index) => index === phone_book.length - 1 ? false : phone_book[index + 1].startsWith(number) ); } 모든 전화번호를 자신을 제외한 나머지 다른 번호와 비교하는 것은 n..
![[프로그래머스 Level 2] 덧칠하기 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fr5mQG%2Fbtr1Qxhm1Gb%2FAAAAAAAAAAAAAAAAAAAAALzaEgN_9F6_gEWePa9k8HWpYIe0uQhzcrXwPOVuYr8a%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D9psb8yQMB7SnHqTGaVF7sFmOKC0%253D)
[프로그래머스 Level 2] 덧칠하기 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, m, section) { let result = 0; let painted = 0; for (const wall of section) { if (painted >= wall) { continue; } painted = wall + m - 1; result++; } return result; } 가장 적게 페인트를 칠하려면 다시 칠해야..
![[프로그래머스 Level 3] 베스트앨범 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FdbmhtB%2Fbtr1f2v7ytn%2FAAAAAAAAAAAAAAAAAAAAAIxHXKW5lzn-eSO2OPsaDP7dW16PlIoSPO2-BtI9hW8C%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DQRvOUevBKrWmX3%252F9piYvyZKzqfE%253D)
[프로그래머스 Level 3] 베스트앨범 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(genres, plays) { const genreMap = {}; const genreCount = {}; plays.forEach((time, num) => { const genre = genres[num]; const highestCount = genreMap[genre]; genreCount[genre] = (genreCount[ge..
![[프로그래머스 Level 2] 소수 찾기 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FXB5A5%2Fbtr01UYLdX1%2FAAAAAAAAAAAAAAAAAAAAAPGtkwDl4sb1xBw9LTFLuAT-tRIcXh4aUp7_JPCEE2ZF%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DcNBqVCDrEXGoQrckFej5vpQ1kog%253D)
[프로그래머스 Level 2] 소수 찾기 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(numbers) { const primes = Array(1_000_000).fill(true); primes[0] = false; primes[1] = false; for (let i = 2; i { const num = Number(comb); let count = 0; if (primes[num] && !primeList[num]) {..
![[프로그래머스 Level 2] 스킬트리 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2Fc34yqQ%2Fbtr0zGAp5mQ%2FAAAAAAAAAAAAAAAAAAAAAJW-MHk4Zve2XJ3Ahlx_EI4dfzjsDpMXy92a-2L-UCjR%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DT%252BYfUxycjbuEQZ5vITBN37i3d%252FA%253D)
[프로그래머스 Level 2] 스킬트리 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/49993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(skill, skill_trees) { const preSkills = [...skill].reduce((acc, v) => { acc[v] = true; return acc; }, {}); return skill_trees.reduce((acc, tree) => { const order = [...skill].reverse(); for (..
![[프로그래머스 Level 2] n^2 배열 자르기 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FlFNMI%2Fbtr0eJ6b4FN%2FAAAAAAAAAAAAAAAAAAAAAEP-ryICIn7ACZTuTfDcyPQGjR3-G7t38rXgoj33BIa6%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3DLAhZmaTeuraq8kVeshA8cuQVXYQ%253D)
[프로그래머스 Level 2] n^2 배열 자르기 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, left, right) { return Array.from({ length: right - left + 1 }, (_, i) => { const row = Math.floor((i + left) / n); const col = (i + left) % n; return Math.max(row, col) + 1; }); } 2차원 배열에서..
![[프로그래머스 Level 2] 미로 탈출 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FAlPMp%2FbtrZD1laWI7%2FAAAAAAAAAAAAAAAAAAAAAAY84bD7nnN-5I3CbShAKxSF8QCTkXMDy2PpCydFS5pO%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D4jdE2BSxvJZBcaPBNTiPZBkj9RA%253D)
[프로그래머스 Level 2] 미로 탈출 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(maps) { const offset = [[0, 1], [0, -1], [1, 0], [-1, 0]]; const xLen = maps.length; const yLen = maps[0].length; const bfs = ([sx, sy], [ex, ey]) => { const visited = Array.from({ length: x..
![[프로그래머스 Level 3] 야근 지수 - JavaScript](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdna%2FOSqLq%2FbtrYlABRziF%2FAAAAAAAAAAAAAAAAAAAAAHRQss69pDACOokwieroV17rzd7I0gmifgM-SJJ1QcCu%2Fimg.png%3Fcredential%3DyqXZFxpELC7KVnFOS48ylbz2pIh7yKj8%26expires%3D1753973999%26allow_ip%3D%26allow_referer%3D%26signature%3D%252Be3V69RsVpKiLrMZwEswRXQRIXM%253D)
[프로그래머스 Level 3] 야근 지수 - JavaScript
🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(n, works) { class PriorityQueue { constructor() { this.heap = []; } push(value) { const { heap } = this; heap.push(value); let index = heap.length - 1; let parent = Math.floor((index - 1) / 2..