본문 바로가기

BOJ

(110)
[BOJ][Python] 백준 2056번 - 작업 문제 링크: https://www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 문제 풀이 위상 정렬에 다이나믹 프로그래밍을 이용하는 문제이다. 사실상 웰노운 문제인 1005번의 아이디어를 가져왔다. 상관 관계가 있는 작업의 시간을 가져와 max()로 최댓값을 갱신해줘야 한다. 어떤 작업을 수행하기 위해 반드시 먼저 완료되어야 하기 때문이다. dp 테이블을 만들어서 가장 시간이 오래 걸린 것을 출력하면 된다. 이 역시도 max()를 이용하면 된다. 물론 ..
[BOJ][Python] 백준 1766번 - 문제집 문제 링크: https://www.acmicpc.net/problem/1766 1766번: 문제집 첫째 줄에 문제의 수 N(1 ≤ N ≤ 32,000)과 먼저 푸는 것이 좋은 문제에 대한 정보의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 둘째 줄부터 M개의 줄에 걸쳐 두 정수의 순서쌍 A,B가 빈칸을 사이에 두고 주 www.acmicpc.net 문제 풀이 위상 정렬을 이용하는 문제에 우선순위 큐가 들어가는 문제이다. 기본적인 위상 정렬에 큐가 아닌 우선순위 큐를 써야하는 거 빼고는 차이점이 없다. 코드
[BOJ][Python] 백준 14502번 - 연구소 문제 링크: https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 풀이 BFS로 바이러스를 퍼트리는 과정을 진행했다. 그리고 벽을 꼭 3개를 세워야 하는데, 빈칸의 좌표를 저장해서 이 좌표 중 3개에 벽을 세웠다. 모든 경우를 다 확인했으며 3개를 뽑을때 itertools 모듈을 사용하여 해결했다. N이 최대 8이므로, $_{64}C_{3}$정도면 무난하게 할 수 있다. 벽 3개를 뽑았으면, 안전 영역의 개수를 카운트하여 최대를 갱신해줬다. 또한 모든 과정..
[BOJ][Python] 백준 2174번 - 로봇 시뮬레이션 문제 링크: https://www.acmicpc.net/problem/2174 2174번: 로봇 시뮬레이션 첫째 줄에 두 정수 A, B가 주어진다. 다음 줄에는 두 정수 N, M이 주어진다. 다음 N개의 줄에는 각 로봇의 초기 위치(x, y좌표 순) 및 방향이 주어진다. 다음 M개의 줄에는 각 명령이 명령을 내리는 순 www.acmicpc.net 문제 풀이 전형적인 시뮬레이션 문제. 이름부터 시뮬레이션이라 나와있다. 일반적인 문제였으면 쉽게 풀렸을거 같지만 평소와 다른 x, y 좌표여서 다르게 처리해줘야 했다. 로봇을 불러오는 경우는 로봇 리스트를 만들어서 $N$번 로봇의 좌표 및 방향은 $N$번 인덱스에 저장시켜서 바로 불러올 수 있었다. 맵을 만들때 빈 공간인 경우는 0으로, 로봇이 있는 경우는 i번..
[BOJ][Python] 백준 4766번 - 일반 화학 실험 문제 링크: https://www.acmicpc.net/problem/4766 4766번: 일반 화학 실험 입력은 동혁이가 측정한 혼합물의 온도가 순서대로 주어진다. 온도는 -10도와 200도 사이이고, 소수점 둘째자리까지 적혀져 있을 수도 있다. 마지막 측정 후에는 999가 주어진다. 동혁이는 온도를 www.acmicpc.net 문제 풀이 간단한 구현 문제이다. 반복문으로 전의 값을 빼주면 된다. 소수도 들어올 수 있으니 처리에 주의하자. 코드
[BOJ][Python] 백준 18301번 - Rats 문제 링크: https://www.acmicpc.net/problem/18301 18301번: Rats To celebrate the Lunar New Year of the Rat, Douglas decides to count the number of rats living in his area. It is impossible for him to find all rats, as they tend to be well hidden. However, on the first day of the new year, Douglas manages to capture n1 www.acmicpc.net 문제 풀이 지문에 적혀있는데로 하면 된다. (N := ⌊(n1 + 1)(n2 + 1)/(n12 + 1) - 1⌋) wher..
[BOJ][Python] 백준 21300번 - Bottle Return 문제 링크: https://www.acmicpc.net/problem/21300 21300번: Bottle Return In the United States, beverage container deposit laws, or so-called bottle bills, are designed to reduce litter and reclaim bottles, cans and other containers for recycling. Ten states currently have some sort of deposit-refund systems in place for differe www.acmicpc.net 문제 풀이 다 더한 값에 5를 곱하면 된다. 코드
[BOJ][Text] 백준 18096번 - Арифметическая магия 문제 링크: https://www.acmicpc.net/problem/18096 18096번: Арифметическая магия Дэвид Блейн попросил зрителя задумать два числа. Затем он попросил перемножить два числа, большие каждого из задуманных на единицу, выче www.acmicpc.net 문제 풀이 1 코드