알고리즘 문제풀이 (35) 썸네일형 리스트형 [프로그래머스] 고득점 키트 - 그리디3 오늘 푼 문제 3. 큰 수 만들기 / Lv. 2 / 시간 : 68분(타임오버) programmers.co.kr/learn/courses/30/lessons/42883?language=javascript 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 1차 : 시간 초과 나오는 틀린 방법. function solution(number, k) { var answer = number.split('').reduce((acc,cur,index)=>{ let flag = false; for(let i=1;icur){ flag = true; } } if(flag){ k-- }else{ acc+=cur } return acc; },'') return answer; } 2차 : 스택 사용 functio.. [프로그래머스] 고득점 키트 - 그리디2 오늘 푼 문제 2. 조이스틱 / Lv.2 / 시간 : 89분(타임오버) programmers.co.kr/learn/courses/30/lessons/42860?language=javascript 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr function solution(name) { var answer = 0; let len = name.length; let pos = 0; let code = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; name = name.split('').. [프로그래머스] 고득점 키트 - 그리디1 오늘 푼 문제 1. 체육복 / Lv.1 / 시간 : 21분 programmers.co.kr/learn/courses/30/lessons/42862?language=javascript 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr function solution(n, lost, reserve) { var answer = 0; const reserveObj = reserve.reduce((acc,cur)=>{ if(lost.includes(cur)) lost.splice(lost.indexOf(cur),1); e.. [프로그래머스] 고득점 키트 - 완전탐색3 오늘 푼 문제 3. 카펫 / Lv.2 / 시간 : 16분 programmers.co.kr/learn/courses/30/lessons/42842?language=javascript 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr function solution(brown, yellow) { var answer = []; const sumXY = (brown+4)>>1; const minX = Math.ceil(sumXY/2); for(let x=minX; x [프로그래머스] 고득점 키트 - 완전탐색2 오늘 푼 문제 2. 소수찾기 / Lv.2 / 시간 : 91분(시간초과) programmers.co.kr/learn/courses/30/lessons/42839?language=javascript 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 1. 소수찾기(isPrime), 멱집합(getPowerSet), 순열(permutation) 이용 function solution(numbers) { var answer = 0; const configs = []; const checked = {}; con.. [프로그래머스] 고득점 키트 - 완전탐색1 오늘 푼 문제 1. 모의고사 / Lv.1 / 시간 : 21분 programmers.co.kr/learn/courses/30/lessons/42840?language=javascript 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr function solution(answers) { var answer = []; let bmap = {1:1,3:3,5:4,7:5}; let cmap = {0:3,1:1,2:2,3:4,4:5}; let temp = answers.reduce((acc,cur,i)=>{ if(cur.. [프로그래머스] 고득점 키트 - 힙2 오늘 푼 문제 2. 이중 우선순위 큐/ Lv.3 / 시간 : 13분 programmers.co.kr/learn/courses/30/lessons/42628?language=javascript 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr function solution(operations) { var answer = []; let temp = operations.reduce((acc,cur)=>{ switch(cur){ case "D 1": acc.shift(); break; case "D -1": acc.pop(); break; default: acc.push(cur.slice(2)*1); acc.sort((a,b)=>b-a); break; } return acc; },[]); an.. [프로그래머스] 고득점 키트 - 힙1 오늘 푼 문제 1. 디스크 컨트롤러/ Lv.3/ 시간 : 53분(타임오버) programmers.co.kr/learn/courses/30/lessons/42627?language=javascript 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr function solution(jobs) { jobs.sort((a,b)=>a[1]-b[1]); const len = jobs.length; var answer = 0; let ct = 0; //current time let wt = 0; // whole ti.. 이전 1 2 3 4 5 다음