백준(5)
-
백준 온라인 저지 365일 연속 문제 풀이 후기
백준 온라인 저지에 올라와 있는 문제를 365일 연속으로 풀었다. 이 전에도 거의 늘상 풀긴 했지만 이렇게 꾸준히 날마다 연속으로 푼 게 벌써 1년이다. 약 150일까지는 정말 급한일이 있거나 바쁠 때는 까먹을 뻔한 적도 있었지만 그 이후에는 늘상 알고리즘 문제부터 생각하게 된다. 오늘은 바쁜 일이 있으니까 먼저 문제부터 풀어야겠다~하고 말이다. 브론즈 문제로 날짜를 채우는 것은 최대한 지양하려고 했고, 대부분 골드이상 문제를 풀려고 했다. 다른 언어 배울 때나 가끔 브론즈 문제를 풀었던 것 같다. C++ 시험 전날에는 확실히 하고자 브론즈 ~ 실버 문제를 엄청 풀었다. 그게 저기 진한 색깔이 칠해져있는 날짜이다. 다소 아쉬운 점은 학기 중에는 길게 시간을 들이지 못해 골드 이상 난이도 중에서도 푸는 방..
2022.07.26 -
백준 온라인 저지, 이진 탐색/15810번: 풍선 공장(파이썬)
문제 https://www.acmicpc.net/problem/15810 문제 정의 전북대학교 프로그래밍 경진 대회에서는 ACM-ICPC 스타일을 따라 문제를 해결한 팀에게 그 문제에 해당하는 풍선을 달아준다. 풍선을 담당하는 N명의 스태프가 있다. 스태프마다 폐활량이 다르기 때문에 하나의 풍선을 만드는 데 걸리는 시간은 다양하다. 대회가 시작되고 운영진으로부터 M개의 풍선을 만들어 달라는 의뢰가 들어왔다! 각 스태프가 풍선 하나를 만드는 시간(분) Ai를 알고 있을 때, 풍선 M개를 만들기 위해서 최소 몇 분이 걸릴까? 풍선을 만든 후에 문제를 표시할 것이기 때문에 풍선의 종류는 상관이 없다. 모든 스태프는 풍선을 만드는 데에 정확하게 자신이 말한 시간만큼 걸린다. 예를 들어 스태프 A가 풍선 하나를 ..
2021.07.16 -
백준 온라인 저널, 우선순위 큐, 자료구조/1655번 : 가운데를 말해요(파이썬) / 백준 골드 문제
문제 정의 수빈이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 수빈이가 정수를 하나씩 외칠때마다 동생은 지금까지 수빈이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 수빈이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다. 예를 들어 수빈이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 수빈이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차..
2021.06.24 -
백준 온라인 저널, 우선순위 큐, 자료구조/1927번 : 최소 힙(파이썬) /11279번 : 최대 힙(파이썬)
최소 힙 문제 정의 널리 잘 알려진 자료구조 중 최소 힙이 있다. 최소 힙을 이용하여 다음과 같은 연산을 지원하는 프로그램을 작성하시오. 배열에 자연수 x를 넣는다. 배열에서 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 프로그램은 처음에 비어있는 배열에서 시작하게 된다. 입력 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 자연수는 231보다 작다. 출력 입력에서 0이 주어진 회수만큼 답을 출력한다. 만약 배열이 비어 있는 경우인데 가장 작은 ..
2021.06.24 -
백준 온라인 저널, DFS/4963번 : 섬의 개수(파이썬)
문제 정의 정사각형으로 이루어져 있는 섬과 바다 지도가 주어진다. 섬의 개수를 세는 프로그램을 작성하시오. 한 정사각형과 가로, 세로 또는 대각선으로 연결되어 있는 사각형은 걸어갈 수 있는 사각형이다. 두 정사각형이 같은 섬에 있으려면, 한 정사각형에서 다른 정사각형으로 걸어서 갈 수 있는 경로가 있어야 한다. 지도는 바다로 둘러싸여 있으며, 지도 밖으로 나갈 수 없다. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 지도의 너비 w와 높이 h가 주어진다. w와 h는 50보다 작거나 같은 양의 정수이다. 둘째 줄부터 h개 줄에는 지도가 주어진다. 1은 땅, 0은 바다이다. 입력의 마지막 줄에는 0이 두 개 주어진다. 출력 각 테스트 케이스에 대해서, 섬의 개수를 출..
2021.06.17