-
[프로그래머스] JS알고리즘 - n^2 배열 자르기
오늘은 'n^2 배열 자르기' 알고리즘 문제를 자바스크립트로 해결하는 과정을 다뤄보겠습니다. 까다로워보이지만 2차원 배열의 규칙만 잘 찾아내면 오히려 쉽게 접근할 수 있는 문제입니다. 문제 설명 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. i = 1, 2, 3, ..., n에 대해서, 다음 과정을 반복합니다. 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지..
알고리즘 이야기/알고리즘 문제풀이
2024. 1. 28.
-
[프로그래머스] JS 알고리즘 - 귤 고르기
오늘은 프로그래머스에서 귤 고르기 문제를 풀었습니다. 다른 블로그를 보니 2단계치고는 쉬운 문제라고 하지만 그래도 나름 까다로운 편에 속하지 않았나 생각해요. 시간 복잡도를 줄이기 위해 많은 시도를 해보았던 것 같습니다. 문제 설명 [문제] 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다. 예를 들어, 경화가 수확한 귤 8개의 크기가 [1, 3, 2, 5, 4, 5, 2, 3] 이라고 합시다. 경화가 귤 6개를 판매하고 싶다면, 크기가 1, 4인 귤을 제외한 여섯 개의 귤을 상자에 담으면, 귤의 크..
알고리즘 이야기/알고리즘 문제풀이
2024. 1. 14.