개요
10주차 스터디는 프로그래머스에서 풀기로 했다.
A번: 기능개발
문제 요약
순서가 중요한 작업들의 진행 상황이 주어졌을 때, 한 번의 배포에 몇 개씩 묶어서 배포할 수 있는지 구하기
설명
대충 나머지를 이용해 몇일 걸리는지 다 구해놓고,
그 다음에는 마지막으로 배포된 녀석을 저장하면서 그보다 뒤에 있으면서 먼저 마무리되는 작업을 묶어준다.
B번: 네트워크
문제 요약
컴퓨터 간의 연결이 인접 행렬로 주어졌을 때, 네트워크의 개수를 구하는 문제
설명
dfs로 풀수 있는 문제지만 더 깔끔하게 풀고 싶어서 union-find로 풀었다.
C번: 야근 지수
문제 요약
남을 일의 작업량들이 주어졌을 때, 야근 지수를 최소화하는 방법
이때 야근 지수는 남은 일의 작업량을 제곱한 값의 합이다.
n만큼 일을 할 수 있고, 일을 할 때마다 작업량이 1씩 줄어든다.
설명
n이 작아서 그냥 pq로 최댓값을 계속 찾아 1씩 빼도 된다.
D번: 크레인 인형뽑기 게임
문제 요약
크레인을 이용해 인형을 뽑아 바구니에 넣는 게임이 있다.
바구니에 같은 2개를 인접하게 넣으면 사라진다.
행동의 목록이 주어질 때 시뮬레이션 해서 사라진 인형의 개수를 구하기
설명
그냥 스택을 이용해 시뮬레이션하면 풀린다.
후기
문제가 대부분 구현 위주여서 쉽게 풀었다.
다음주에는 백준으로 돌아갈 예정이다.