반응형 개발자 취업27 99클럽 코테 스터디 7일차 TIL - 정렬 항해99 코테 스터디 7일차 문제인 LeetCode의 'Put Marbles in Bags'은 N개의 구슬을 k개의 그룹으로 나눴을 때 무게의 최댓값과 최솟값의 차를 구하는 문제다. 난이도는 Hard이며 정렬을 통해 해결할 수 있다. 오늘의 문제 - Put Marbles in Bags 문제 정보문제 키워드- 정렬난이도- Hard 문제 요약각 구슬의 무게를 나타내는 weights 배열이 주어진다.아래의 규칙에 따라 구슬을 k개의 가방에 나누어 담아라.어떤 가방도 비어있지 않다.i번째 구슬과 j번째 구슬이 같은 가방에 들어있다면, i+1~j-1번째 구슬도 모두 같은 가방에 들어있다.i번째 구슬부터 j번째 구슬까지만 들어있다면, 그 가방의 무게는 weights[i]+weights[j]이다.score = (가방.. 2024. 5. 26. 99클럽 코테 스터디 6일차 TIL - 우선순위큐 항해99 코테 스터디 6일차 문제인 프로그래머스의 '이중우선순위큐'는 최댓값과 최솟값을 둘다 제거 가능한 이중 우선순위큐를 구현하는 문제다. 난이도는 레벨3이며 우선순위큐 2개를 통해 해결할 수 있다. 오늘의 문제 - 이중우선순위큐 문제 정보문제 키워드- Heap난이도- Level 3 문제 요약최댓값도 최솟값도 제거할 수 있는 이중 우선순위큐가 있다.연산의 배열이 주어질 때, 연산을 모두 완료한 후에 남은 최댓값과 최솟값을 구하라. 문제 풀이 과정 PriorityQueue 2개를 만들어서 풀었다. 최댓값이나 최솟값 제거 시에 제거되는 숫자의 인덱스를 저장해서, 반대쪽 큐에서 추후 숫자를 제거할 때 이미 제거된 숫자는 제외하고 연산하도록 하였다.다만 이렇게 풀이하는 경우, 연산의 수가 많아지면 그만큼 제.. 2024. 5. 25. 99클럽 코테 스터디 5일차 TIL - 우선순위큐 항해99 코테 스터디 5일차 문제인 프로그래머스의 '디스크 컨트롤러'는 한번에 하나의 작업만 수행할 수 있는 하드디스크에 요청들이 들어왔을 때 모든 요청의 대기시간의 평균의 최솟값을 구하는 문제다. 난이도는 레벨3이며 우선순위큐를 통해 해결할 수 있다. 오늘의 문제 - 디스크 컨트롤러 문제 정보문제 키워드- 힙/우선순위큐난이도- Level 3 문제 요약하드디스크는 한번에 하나의 작업만 해결할 수 있다.작업 요청이 들어온 시간과 해당 작업을 수행하는데 걸리는 시간이 배열로 주어질 때, 모든 요청이 끝나고 각 요청의 평균 대기시간의 최소값을 구하라. 문제 풀이 과정 디스크 스케줄링 기법은 선입 우선, 최소시간 우선 등이 있다. 이 문제에서는 각 작업이 끝날 때까지 기다린 대기시간이 최소화되어야 하므로, 최.. 2024. 5. 24. 99클럽 코테 스터디 4일차 TIL - 스택 항해99 코테 스터디 4일차 문제인 프로그래머스의 '주식가격'은 매초마다 주어지는 주식의 가격이 떨어지지 않은 기간을 구하는 문제다. 난이도는 레벨2이며 스택이나 우선순위큐를 통해 해결할 수 있다. 오늘의 문제 - 주식가격 문제 정보문제 키워드- 스택/큐난이도- Level 2 문제 요약매초 주식의 가격이 배열로 주어질 때, 가격이 떨어지지 않은 기간을 가각 구하여라. 문제 풀이 과정 스택에 매초마다 가격을 삽입하는데, 삽입하기 전에 현재 가격보다 높은 요소들을 모두 꺼내 정답을 업데이트한다.또는 가격 내림차순으로 정렬되는 우선순위큐를 사용해 매초마다 가격을 삽입하고 현재 가격보다 높은 요소들을 모두 꺼내 정답을 업데이트한다.이 문제에서는 우선순위큐보다 스택을 이용한 방법이 좀 더 간편하다.코드impor.. 2024. 5. 23. 이전 1 ··· 3 4 5 6 7 다음 반응형