본문 바로가기

알고리즘/백준152

[BAEKJOON]1238 파티 - Python 문제 요약 알고리즘 분류: 다익스트라 난이도: Gold5 문제내용: 각 노드에서 X까지 시작점 부터 도착점 왕복하는데 걸리는 최대 시간을 구해라 사이트: https://www.acmicpc.net/problem/1238 1238번: 파티 첫째 줄에 N(1 ≤ N ≤ 1,000), M(1 ≤ M ≤ 10,000), X가 공백으로 구분되어 입력된다. 두 번째 줄부터 M+1번째 줄까지 i번째 도로의 시작점, 끝점, 그리고 이 도로를 지나는데 필요한 소요시간 Ti가 들어 www.acmicpc.net 문제풀이 이번에는 문제 유형은 그래프 탐색중에 다익스트라 알고리즘 문제이다. 다익스트라 알고리즘 기본적인것을 묻기 때문에 자세한 설명은 여기서 참조하면된다. 풀이에 대한 설명은 각 노드에서 X까지 출발점 부터 도착점.. 2023. 1. 16.
[BAEKJOON]1916 최소비용 구하기 - Python 문제 요약 알고리즘 분류: 다익스트라 난이도: Gold5 문제내용: 시작점 부터 도착점까지의 최단거리를 구해라 사이트: https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 문제풀이 이번에는 문제 유형은 그래프 탐색중에 다익스트라 알고리즘 문제이다. 다익스트라 알고리즘 기본적인것을 묻기 때문에 자세한 설명은 여기서 참조하면된다. 풀이에 대한 설명은 다익스트라 알고리즘알면 풀수 있기때문에 따로 설명은 하지 않겠다. C.. 2023. 1. 13.
[BAEKJOON]15686 치킨 배달- Python 문제 요약 알고리즘 분류:백트레킹 난이도: Gold5 문제내용: 가로 세로 길이 N, 폐점 안할 치킨 집 M, 지도 2차원 배열 치킨 거리: (x1, y1) ~ (x2, y2) = |x1 - x2| + |y1 - y2| 도시의 각 집과 치킨 집의 치킨 거리의 최소 합 을 구해라 사이트: https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제풀이 이번에는 문제 유형은 백트레킹 알고리즘이다. 조합으로 백트레킹 문제를 풀면 되면 .. 2023. 1. 12.
[BAEKJOON]14502 연구소 - Python 문제 요약 알고리즘 분류:BFS, 시뮬레이션 난이도: Gold4 문제내용: 0은 길 1은 벽이다. 벽은 한번 부수고 이동가능하다. (0, 0) ~ (N, M)까지의 거리를 구해라 사이트: https://www.acmicpc.net/problem/14502 문제풀이 이번에는 문제 유형은 그래프 탐색중에 BFS탐색 알고리즘이다. BFS 탐색 알고리즘에 대한 설명은 여기에서 확인 해보면된다. 이번 문제는 가로세로 최대 길이가 8이라서 시간 복잡도에 제한은 없지만 구현난이도가 있어서 구현 하는 방법만 알면 쉽게 풀수 있다고 생각한다. 문제 접근방법 처음에 재귀 호출을 하는데 벽을 3개 만든다고 (0, 0)부터 시작해서 4가지 방향 탐색한후 백트레킹 방식으로 돌아올때 벽을 빼고 하면 안된다. 그 이유는 보면 (0.. 2023. 1. 11.
[BAEKJOON]16953 A → B 문제 요약 알고리즘 분류: dfs 난이도: Silver2 문제내용: 아래와 같이 2가지 연산이 가능하다. ×2 1을 오른쪽추가한다. A, 에서 B까지 최소 몇번 연산가능한지 구해라. 사이트: https://www.acmicpc.net/problem/16953 16953번: A → B 첫째 줄에 A, B (1 ≤ A < B ≤ 109)가 주어진다. www.acmicpc.net 문제풀이 이번 문제는 dfs 응용하는 문제이다. dfs 대한설명은 여기에서 확인 해보면 된다. 문제 접근 방법 bfs를 응용하는 것인데 위 그림 처럼 queue에 현재 값을 연산후 B보다 작거나 같을때 queue에 저장하면 하고 현재 값 연산 횟수에 +1을 더하면 끝이다. from collections import deque A, B.. 2023. 1. 10.
[BAEKJOON]1461 도서관 문제 요약 알고리즘 분류: 그리디, 정렬, 힙 난이도:Gold5 문제내용: N개의 책과 최대 들고갈수 있는 책의 개수 M이 있다. 모든 책을 갔다 놓을수 있도록 최소 거리를 구해라(다시 돌아올 필요는 없다.) 사이트: https://www.acmicpc.net/problem/1461 문제풀이 이번 문제는 그리디와 힙을 응용해야 되는문제이다. 그리디 알고리즘 약간 아이디어 문제측에 속한다. 정답을 어떻게 구할지만 구현은 쉽다. 그리디와 힙에 대한 설명은 아래의 사이트에서 확인해보면된다. 그리디: https://jih3508.tistory.com/70 힙: https://jih3508.tistory.com/81 문제 접근 방법 이번 그리디 관련한 문제는 음수영역과 양수 영역을 따로 구분해서 책을 꽃아야 한다.. 2023. 1. 8.