문제: 최소직사각형 https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(sizes) { // 가로, 세로 중 작은 값(세로)/큰 값(가로) 구분해서 각각의 최댓값을 곱한 값 sizes.map(size => size.sort((a, b) => a - b)) let maxH = 0 let maxW = 0 for (let [h, w] of sizes) { maxH = Math.ma..
문제: 같은 숫자는 싫어 https://school.programmers.co.kr/learn/courses/30/lessons/12906?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(arr) { // 이전 숫자랑 같으면 continue, 아니면 answer에 push const answer = [arr[0]] for (let i=1;i Math.ceil((100 - p) / speeds[i])) const answer = [] let maxVal = leftDays[0] let ..
문제: K번째 수 https://school.programmers.co.kr/learn/courses/30/lessons/42748?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(array, commands) { // (i-1)부터 j까지 자르고 정렬 -> k번째 숫자 return commands.map(([i, j, k]) => array.slice(i-1, j).sort((a, b) => a - b)[k-1]) } 문제: 가장 큰 수 https://school.programmer..
문제 : 폰켓몬 https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 function solution(nums) { // 종류(Set.size)와 nums.length/2 를 비교 // 종류가 더 많거나 같으면 길이 리턴, 아니면 종류 리턴. const types = new Set(nums).size const len = nums.length/2 return len = 0) { completion.splice(..
문제 https://github.com/tony9402/baekjoon GitHub - tony9402/baekjoon: 코딩테스트 대비 문제집(Baekjoon Online Judge) 코딩테스트 대비 문제집(Baekjoon Online Judge). Contribute to tony9402/baekjoon development by creating an account on GitHub. github.com 풀이 1. [순서, 우선순위] 큐를 만든다. 2. tasks를 앞에서부터 하나씩 꺼내서 확인한다. 우선순위가 가장 높은 경우 실행 순서인 order를 1 증가시킨다. 이때 만약 순서(idx)가 찾고자 하는 location이라면 order를 반환한다. 아니라면 다시 우선순위 최댓값을 남은 큐에서 찾는다..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 이전에는 큐로 풀었었는데 카카오 문제 풀고 나서 다른 방법도 알게 되었다. '('면 1, ')' 면 -1을 더해서 음수가 되는 경우 올바른 괄호가 아니라고 판단한다. 그리고 모두 더했을 때 0이거나 양수인데, 이때 0이면 올바른 괄호이므로 true를, 아니면 (가 더 많은 경우로 false를 반환한다. function solution(s){ let s..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42586?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 1. 큐에 각 작업이 걸리는 시간을 저장한다. 2. 큐를 돌면서 최댓값보다 작거나 같으면 cnt를 증가시키고, 아니면 answer에 같이 배포할 날짜를 넣어주고 maxVal를 갱신한다. 언뜻 보면 간단한 거 같지만 헷갈리는 부분들이 있었다. 먼저, 큐의 첫 번째 값은 미리 cnt를 세고 시작한다. 이를 위해 maxVal를 queue[0]으로 초기화하고..