알고리즘(356)
-
백준 온라인 저지, 이진탐색 / 16401번: 과자나눠주기 (파이썬 / 백준 실버문제)
문제 주소: https://www.acmicpc.net/problem/16401 문제 명절이 되면, 홍익이 집에는 조카들이 놀러 온다. 떼를 쓰는 조카들을 달래기 위해 홍익이는 막대 과자를 하나씩 나눠준다. 조카들이 과자를 먹는 동안은 떼를 쓰지 않기 때문에, 홍익이는 조카들에게 최대한 긴 과자를 나눠주려고 한다. 그런데 나눠준 과자의 길이가 하나라도 다르면 조카끼리 싸움이 일어난다. 따라서 반드시 모든 조카에게 같은 길이의 막대 과자를 나눠주어야 한다. M명의 조카가 있고 N개의 과자가 있을 때, 조카 1명에게 줄 수 있는 막대 과자의 최대 길이를 구하라. 단, 막대 과자는 길이와 상관없이 여러 조각으로 나눠질 수 있지만, 과자를 하나로 합칠 수는 없다. 단, 막대 과자의 길이는 양의 정수여야 한다. ..
2022.05.13 -
백준 온라인 저지, 최단경로 / 14630번: 변신로봇 (파이썬 / 백준 골드문제)
문제 주소: https://www.acmicpc.net/problem/14630 문제 승균이는 변신로봇에 심취해있었다. 한 분야가 극에 달한 사람은 그것을 통해 세상을 이해한다는 말이 있는데, 승균이가 바로 그러했다. 승균이는 시시때때로 감정이 변하는 사람들을 보면서 사람은 변신로봇과 같다고 생각했다. 또한, 세계의 흐름은 거대한 변신로봇을 조립하는 과정이며, 그 흐름 속에서 우리의 역할은 변신로봇의 부품으로써 다른 부품들과 올바르게 맞물려있는 것에 있다고 믿고 있었다. 그러나 이런 승균이를 보고 있던 승균이의 선생님 준하는 마음이 편치 않았다. 왜냐하면, 자신이 승균이에게 변신로봇을 소개 시켜준 것은 변신로봇을 통해 과학과 수학에 관심을 갖게 하려는 의도였는데, 준하의 의도와는 달리 승균이가 변신로봇을..
2022.05.13 -
백준 온라인 저지, BFS / 16948번: 데스나이트 (파이썬 / 백준 실버문제)
문제 주소: https://www.acmicpc.net/problem/16948 문제 게임을 좋아하는 큐브러버는 체스에서 사용할 새로운 말 "데스 나이트"를 만들었다. 데스 나이트가 있는 곳이 (r, c)라면, (r-2, c-1), (r-2, c+1), (r, c-2), (r, c+2), (r+2, c-1), (r+2, c+1)로 이동할 수 있다. 크기가 N×N인 체스판과 두 칸 (r1, c1), (r2, c2)가 주어진다. 데스 나이트가 (r1, c1)에서 (r2, c2)로 이동하는 최소 이동 횟수를 구해보자. 체스판의 행과 열은 0번부터 시작한다. 데스 나이트는 체스판 밖으로 벗어날 수 없다. 입력 첫째 줄에 체스판의 크기 N(5 ≤ N ≤ 200)이 주어진다. 둘째 줄에 r1, c1, r2, c2가..
2022.05.13 -
백준 온라인 저지, 그리디 / 21600번: 계단 (파이썬 / 백준 실버문제)
문제 주소: https://www.acmicpc.net/problem/21600 문제 자료의 분포를 아래의 그림과 같이 나타낸 그래프를 히스토그램이라고 합니다. 당신은 히스토그램 영역에서 가장 큰 계단을 찾으려고 합니다. 계단은 아래 조건을 만족하는 영역을 말합니다. 계단의 ‘길이’는 계단에 포함된 히스토그램의 열의 수를 나타냅니다. 계단의 길이가 $L$이라고 할 때, 왼쪽에서 $i$번째 열은 높이가 $i$입니다. 즉, 맨 왼쪽 열의 높이는 1, 그 다음 열의 높이는 2이고, 맨 오른쪽 열의 높이는 $L$입니다. 히스토그램 영역이 계단을 포함하면 되기 때문에, 히스토그램의 높이가 계단의 높이 이상이기만 하면 되고, 정확히 같을 필요는 없습니다. 위 히스토그램에서 가장 큰 계단은 아래와 같습니다. 가장 큰..
2022.05.13 -
백준 온라인 저지, 구현 / 18428번: 감시피하기 (파이썬 / 백준 실버문제)
문제 주소: https://www.acmicpc.net/problem/18428 문제 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복도로 빠져나온 학생들은 선생님의 감시에 들키지 않는 것이 목표이다. 각 선생님들은 자신의 위치에서 상, 하, 좌, 우 4가지 방향으로 감시를 진행한다. 단, 복도에 장애물이 위치한 경우, 선생님은 장애물 뒤편에 숨어 있는 학생들은 볼 수 없다. 또한 선생님은 상, 하, 좌, 우 4가지 방향에 대하여, 아무리 멀리 있더라도 장애물로 막히기 전까지의 학생들은 모두 볼 수 있다고 가정하자. 다음과 같이 3x3 크기의 복도의 정보가 ..
2022.05.13 -
백준 온라인 저지, 다이나믹프로그래밍 / 11052번: 카드구매하기 (파이썬 / , 백준 실버문제)
문제 요즘 민규네 동네에서는 스타트링크에서 만든 PS카드를 모으는 것이 유행이다. PS카드는 PS(Problem Solving)분야에서 유명한 사람들의 아이디와 얼굴이 적혀있는 카드이다. 각각의 카드에는 등급을 나타내는 색이 칠해져 있고, 다음과 같이 8가지가 있다. 전설카드 레드카드 오렌지카드 퍼플카드 블루카드 청록카드 그린카드 그레이카드 카드는 카드팩의 형태로만 구매할 수 있고, 카드팩의 종류는 카드 1개가 포함된 카드팩, 카드 2개가 포함된 카드팩, ... 카드 N개가 포함된 카드팩과 같이 총 N가지가 존재한다. 민규는 카드의 개수가 적은 팩이더라도 가격이 비싸면 높은 등급의 카드가 많이 들어있을 것이라는 미신을 믿고 있다. 따라서, 민규는 돈을 최대한 많이 지불해서 카드 N개 구매하려고 한다. 카..
2022.04.06