DMLab 알고리즘 스터디 10주차
포스트
취소

DMLab 알고리즘 스터디 10주차

개요

10주차 스터디는 프로그래머스에서 풀기로 했다.

A번: 기능개발

문제 요약

순서가 중요한 작업들의 진행 상황이 주어졌을 때, 한 번의 배포에 몇 개씩 묶어서 배포할 수 있는지 구하기

설명

대충 나머지를 이용해 몇일 걸리는지 다 구해놓고,
그 다음에는 마지막으로 배포된 녀석을 저장하면서 그보다 뒤에 있으면서 먼저 마무리되는 작업을 묶어준다.

B번: 네트워크

문제 요약

컴퓨터 간의 연결이 인접 행렬로 주어졌을 때, 네트워크의 개수를 구하는 문제

설명

dfs로 풀수 있는 문제지만 더 깔끔하게 풀고 싶어서 union-find로 풀었다.

C번: 야근 지수

문제 요약

남을 일의 작업량들이 주어졌을 때, 야근 지수를 최소화하는 방법
이때 야근 지수는 남은 일의 작업량을 제곱한 값의 합이다.
n만큼 일을 할 수 있고, 일을 할 때마다 작업량이 1씩 줄어든다.

설명

n이 작아서 그냥 pq로 최댓값을 계속 찾아 1씩 빼도 된다.

D번: 크레인 인형뽑기 게임

문제 요약

크레인을 이용해 인형을 뽑아 바구니에 넣는 게임이 있다.
바구니에 같은 2개를 인접하게 넣으면 사라진다.
행동의 목록이 주어질 때 시뮬레이션 해서 사라진 인형의 개수를 구하기

설명

그냥 스택을 이용해 시뮬레이션하면 풀린다.

후기

문제가 대부분 구현 위주여서 쉽게 풀었다.
다음주에는 백준으로 돌아갈 예정이다.

This post is licensed under CC BY 4.0 by the author.