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

    [프로그래머스 Level 2] 주차 요금 계산 - JavaScript

    [프로그래머스 Level 2] 주차 요금 계산 - JavaScript

    🔗 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ 풀이 function solution(fees, records) { const [BASIC_TIME, BASIC_FEE, UNIT_TIME, UNIT_FEE] = fees; const AUTO_OUT_TIME = 60 * 24 - 1; const parkInfo = {}; records.forEach(str => { const strings = str.split(' '); co..

    [프로그래머스 Level 2] 타겟 넘버 - JavaScript

    [프로그래머스 Level 2] 타겟 넘버 - JavaScript

    🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr ✏️ 풀이 function solution(numbers, target) { const dfs = (index, sum) => { if (index === numbers.length) { if (sum === target) { return 1; } return 0; } const plus = dfs(index + 1, sum..

    [프로그래머스 Level 2] k진수에서 소수 개수 구하기 - JavaScript

    [프로그래머스 Level 2] k진수에서 소수 개수 구하기 - JavaScript

    🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr ✏️ 풀이 function solution(n, k) { const numbers = n.toString(k).split('0').map(Number); return numbers.reduce((acc, num) => { if (num

    [프로그래머스 Level 2] n진수 게임 - JavaScript

    [프로그래머스 Level 2] n진수 게임 - JavaScript

    🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17687 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr ✏️ 풀이 function solution(n, t, m, p) { const max = m * (t - 1) + p; const answer = []; let numbers = ''; let value = 0; while (numbers.length < max) { numbers += (value++).toString(n); } ..

    [프로그래머스 Level 2] 파일명 정렬 - JavaScript

    [프로그래머스 Level 2] 파일명 정렬 - JavaScript

    🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17686 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr ✏️ 풀이 function solution(files) { return files.sort((a, b) => { const [, aHead, aNum] = a.match(/(\D+)(\d{1,5})(.*)/); const [, bHead, bNum] = b.match(/(\D+)(\d{1,5})(.*)/); const aLowerHead..

    [프로그래머스 Level 2] 압축 - JavaScript

    [프로그래머스 Level 2] 압축 - JavaScript

    🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17684 코딩테스트 연습 - [3차] 압축 TOBEORNOTTOBEORTOBEORNOT [20, 15, 2, 5, 15, 18, 14, 15, 20, 27, 29, 31, 36, 30, 32, 34] programmers.co.kr ✏️ 풀이 function solution(msg) { const answer = []; const dictionary = [...Array(26)] .reduce((acc, _, i) => { acc[String.fromCharCode(65 + i)] = i + 1; return acc; }, {}); let dictLength = 26; let i = 0; while..

    [프로그래머스 Level 2] 방금그곡 - JavaScript

    [프로그래머스 Level 2] 방금그곡 - JavaScript

    🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17683 코딩테스트 연습 - [3차] 방금그곡 방금그곡 라디오를 자주 듣는 네오는 라디오에서 방금 나왔던 음악이 무슨 음악인지 궁금해질 때가 많다. 그럴 때 네오는 다음 포털의 '방금그곡' 서비스를 이용하곤 한다. 방금그곡에서는 TV, programmers.co.kr ✏️ 풀이 function solution(m, musicinfos) { const normalize = (melody) => { return melody.replace(/([A-Z])#/g, (_, group) => group.toLowerCase()); }; const getMin = (time) => { const [hour, m..

    [프로그래머스 Level 3] 여행경로 - JavaScript

    [프로그래머스 Level 3] 여행경로 - JavaScript

    🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr ✏️ 풀이 function solution(tickets) { const graph = {}; const count = {}; tickets.forEach(([from, to]) => { if (graph[from]) { graph[from].push(to); } else { graph[from] = [to]; }..

    [프로그래머스 Level 2] 프렌즈4블록 - JavaScript

    [프로그래머스 Level 2] 프렌즈4블록 - JavaScript

    🔗 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr ✏️ 풀이 function solution(m, n, board) { board = board.map(row => [...row]); const offset = [[0, 0], [0, 1], [1, 0], [1, 1]]; let count = 0; let flag = true; while (flag) { flag = fals..

    [프로그래머스 Level 3] 네트워크 - JavaScript

    [프로그래머스 Level 3] 네트워크 - JavaScript

    🔗 문제 링크 ✏️ 풀이 function solution(n, computers) { const visited = Array(n).fill(false); const dfs = (start) => { const stack = [start]; while (stack.length) { const index = stack.pop(); if (!visited[index]) { visited[index] = true; computers[index].forEach((v, i) => { if (i !== index && v) { stack.push(i); } }); } } } let count = 0; computers.forEach((v, i) => { if (!visited[i]) { dfs(i); count++;..