전체 글 7

[백준, BOJ] 11559 - Puyo Puyo (C++)

안녕하세요! 오늘은 BOJ 11559 - Puyo Puyo 문제를 풀어볼게요.  뿌요뿌요라는 게임에 대해서 알고 계신가요?떨어지는 (슬라임처럼 생긴) 뿌요들을 쌓아서, 같은 색깔의 뿌요를 4개 쌓으면 '연쇄'가 일어나 뿌요들이 사라지고 상대방을 공격하는 대전 게임이에요.실제 게임에서는 위에서 랜덤 하게 뿌요가 떨어지고, 상대방을 방해하는 요소도 있는 걸로 알고 있는데요.이 문제는 그런 것은 배제하기로 하고, 주어진 상황에서 얼마나 연쇄가 일어나는지에 대해서 구해야 하는 문제예요. 접근 - (1) 규칙 파악 우선 문제에서 준 뿌요뿌요의 룰 5가지를 한 가지씩 차근차근 살펴볼게요. 첫 번째로, 뿌요는 중력의 영향을 받아서 바닥이나 다른 뿌요가 나올 때까지 아래로 떨어져요.그림과 같이 뿌요 아래에 빈 공간이 ..

[백준, BOJ] 11399 - ATM (C++)

안녕하세요! 오늘은 BOJ 11399 - ATM 문제를 풀어볼게요. 문제를 읽어보면, 이 문제는 각 사람이 돈을 인출하는 데 필요한 시간의 합의 최솟값을 구하는 문제예요. 접근 문제에 있는 예시를 보고 접근해 볼게요. 첫 번째 예시에서는 [1, 2, 3, 4, 5] 순서로 줄을 섰어요.맨 처음 사람이 1번 사람이니, 3분이 필요해서 뒷사람 모두가 3분이 누적돼요. 두 번째 예시에서는 [2, 5, 1, 4, 3] 순서로 줄을 섰어요.맨 처음 사람이 2번 사람이니, 1분이 필요해서 뒷사람 모두가 1분을 누적돼요.여기에서 최종적으로 걸리는 시간의 합이 사람들이 줄을 서는 순서에 따라 달라짐을 알 수 있어요. 첫 번째 사람에 대해서만 언급했지만, 두 번째 사람도 시간이 짧게 걸리는 사람이 와야 두 번째 사람부터..