본문 바로가기

분류 전체보기70

[백준] 1202번 - 보석 도둑 (Java) 문제 https://www.acmicpc.net/problem/1202 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 입력 출력 알고리즘 방법 1 : 그리디 알고리즘, 우선순위 큐 방법 2 : 이분 탐색, 분리 집합 (유니온 파인드) (작성 예정) 코드 [ 방법 1 ] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import j.. 2023. 12. 6.
[백준] 20926번 - 얼음 미로 (Java) 문제 https://www.acmicpc.net/problem/20926 20926번: 얼음 미로 탐험가 테라는 얼음 미로에 갇혔다. 얼음 미로의 바닥은 빙판으로 되어 있어 발을 내디디면 바위에 부딪힐 때까지 미끄러진다. 예를 들어, 위 그림에서 테라가 왼쪽 방향으로 이동한다면 중간에 www.acmicpc.net 입력 출력 알고리즘 다익스트라, 구현 최단 시간을 물어봤으므로 그냥 BFS를 쓰면 되는거 아닌가라고 생각할 수 있지만, 각 칸에 가중치가 존재하므로 이 문제는 BFS로 풀 수 없다. 모든 가중치가 양수이므로 다익스트라로 최단 경로를 구하면 된다. 일반 다익스트라랑 똑같이, 2차원 배열의 다익스트라 구현 문제라고 생각하면 된다. 풀이 과정은 아래와 같다. 1. 그래프 탐색하는 것 처럼 방향벡터를 .. 2023. 12. 5.
알고리즘 종류 별 기본 문제 모음 알고리즘 종류 별, 그리고 그 종류 내부에서도 난이도 별로 기본 문제 및 웰노운 문제를 정리한 문서입니다. 단계별로 풀어보며 알고리즘을 익혀가자는 의도로 작성하였습니다. 백준의 단계별로 풀어보기를 알고리즘 종류 별로 나누고, 더 간단하게 압축한 문서라고 생각하면 됩니다. 모든 알고리즘이 다 들어가 있진 않습니다. 그래도 공부하는데 도움이 되실 기본적인 알고리즘은 종류별, 난이도별로 최대한 넣어봤습니다. 현재 작성 중이며, 추후 계속 업데이트 될 수 있습니다. [ 기본 ] - 브론즈 입출력 https://www.acmicpc.net/problem/2557 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 조건문 사용 https://www.acmicpc.ne.. 2023. 12. 4.
[백준] 9370번 - 미확인 도착지 (Java) 문제 https://www.acmicpc.net/problem/9370 9370번: 미확인 도착지 (취익)B100 요원, 요란한 옷차림을 한 서커스 예술가 한 쌍이 한 도시의 거리들을 이동하고 있다. 너의 임무는 그들이 어디로 가고 있는지 알아내는 것이다. 우리가 알아낸 것은 그들이 s지점에서 www.acmicpc.net 입력 출력 알고리즘 다익스트라 문제를 요약하자면 시작지점 s로 부터 t개의 목적지 후보까지 g-h 간선을 포함해서 갈 수 있는 목적지 후보만 출력하는 것이다. 두가지 방법으로 풀어볼 것이다. [ 방법 1 ] 우리가 체크해야 할 것은 s → 목적지 후보까지 가는 최단 경로에 g → h 또는 h → g가 포함되어 있는가이다. 따라서 모든 목적지 후보에 대해서 s →목적지까지 바로 가는 최단.. 2023. 12. 4.
[백준] 17836번 - 공주님을 구해라! (Java) 문제 https://www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 www.acmicpc.net 입력 출력 알고리즘 너비 우선 탐색(BFS) 일단, 최단 시간을 물어봤으므로 항상 최단경로를 보장하는 BFS로 무조건 풀어야 한다. DFS로는 이 문제를 풀 수 없다. 그람을 구해서 벽을 부수고 가는 것이 최단경로일 수도 있고, 그람을 안구하고 돌아서 가는 것이 최선일 수도 있다. 또한, 사방이 벽으로 막혀 있어 반드시 그람을 구하고 가야되는 경우도 존재한다. 따라서, 그람을.. 2023. 12. 4.
[백준] 21475번 - Треугольная рамка (Java) 문제 https://www.acmicpc.net/problem/21475 21475번: Треугольная рамка Входной файл содержит четыре целых числа $a$, $b$, $c$, $d$ ($1 \le a, b, c, d \le 1000$) --- длины внешних сторон рамки и ее ширину, соответственно. Гарантируетс www.acmicpc.net 입력 출력 번역본 https://www.acmicpc.net/board/view/115980 글 읽기 - 이 문제에 대한 번역입니다. 참고하세요 댓글을 작성하려면 로그인해야 합니다. www.acmicpc.net 알고리즘 수학, 기하학 일단 문제에서 예시로 직각 삼각형인거마.. 2023. 12. 4.
[백준] 2342번 - Dance Dance Revolution (Java) 문제 https://www.acmicpc.net/problem/2342 2342번: Dance Dance Revolution 입력은 지시 사항으로 이루어진다. 각각의 지시 사항은 하나의 수열로 이루어진다. 각각의 수열은 1, 2, 3, 4의 숫자들로 이루어지고, 이 숫자들은 각각의 방향을 나타낸다. 그리고 0은 수열의 마 www.acmicpc.net 입력 출력 알고리즘 다이나믹 프로그래밍 각 쿼리처리 시점에서 왼발과 오른발 위치에 따른 힘의 최솟값을 계속 기록해두고 출력하면 된다. dp[i][j][k] : i번째 DDR 쿼리를 처리하는 시점에서, 왼발이 j에 있고 오른발이 k에 있을때 힘의 최솟값 이라고 dp테이블을 정의해보자. 여기에 쿼리가 아래와 같이 주어진다고 예시를 들어보자 1 2 2 4 0 쿼리.. 2023. 12. 4.