[프로그래머스] 기능개발 (javascript)
풀어보러 가기 : https://programmers.co.kr/learn/courses/30/lessons/42586 완성까지 남은 기간을 담은 배열을 만들고(remains) remains의 반복을 돌면서 앞의 수보다 큰 수가 나오면 세트로 배포되고, 앞의 수보다 작은 수가 나오면 새로운 배포가 된다. [5, 10, 1, 1, 20, 1]=> 5, 10 / 1, 1, 20 / 1 => [2, 2, 1] 이렇게 되어야 하므로 remains[0] = 5 첫 기능은 무조건 먼저 배포되므로 초기값으로 1 추가 answer = [1]; remains[1] = 10 remains[0] < remains[1]이므로 함께 배포됨. answer[마지막요소]++; answer = [2]; remains[2] = 1 re..
2021. 8. 20.
[LeetCode] 55. Jump Game (javascript)
주어진 배열이 있다. 인덱스 0에서 시작하는데, 요소의 숫자만큼 점프를 할 수 있다.(더 짧게 뛰어도 된다.) 이때, 배열의 끝까지 갈 수 있는지 검사하는 문제이다. Input: nums = [2,3,1,1,4] Output: true nums[0]=2에서 두칸, nums[2]=1에서 한칸, nums[3]=1에서 한칸 가면 도착한다. nums[0]=2에서 한칸, nums[1]=3에서 세칸 가면 도착한다. Input: nums = [3,2,1,0,4] Output: false nums[0]=3에서 세칸을 가도, nums[1]=2에서 두칸을 가도, nums[2]=1에서 한칸을 가도 마지막 요소에 도달할 수 없다. 그러므로 false이다. 이 문제를 접했을 때... DFS로 풀어야 하나? 아니면 브루트포스??..
2021. 8. 20.
[프로그래머스] 해시/위장
옷장에서 옷을 꺼내 입되 같은 부위에는 하나의 옷만 입을 수 있다. 빨간 티셔츠, 파란 티셔츠, 검은 모자 => [빨간 티셔츠만, 파란 티셔츠만, 검은 모자만, 빨간 티셔츠와 검은 모자, 파란 티셔츠와 검은 모자] 옷장 안에서 부위별로 옷을 분류한 후, => 모자: 3개, 티셔츠: 2개 ... 한 부위만 입는 경우 => 모자만, 티셔츠만, ... 두 부위만 입는 경우, => 모자와 티셔츠, 모자와 신발, 티셔츠와 신발 ... ... 로 조합으로 경우의 수를 구하면 된다. function solution(clothes) { const count = clothes.length; if(count < 1) return 0; const closet = {}; for(let c of clothes) { if(clo..
2021. 8. 12.