문제풀이/백준83 [JAVA] BOJ 백준 17143번 - 낚시왕 목차 문제 내가 푼 방법 자바 코드 결과 및 회고 1. 문제 https://www.acmicpc.net/problem/17143 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 2. 내가 푼 방법 상어를 이동시킬 때 실수를 할 수 있는 문제이다. (( 내가 그랬기 때문에.. 우선 각각 다른 상어 번호를 지정하여 상어의 정보는 map에 저장했고, 칸에는 최대 한 마리의 상어가 존재하므로 arr 배열에 상어의 번호를 저장했다. 그 후, 낚시왕이 각 열을 지날 때마다 상어를 잡는 fishing 함.. 2024. 1. 3. [JAVA] BOJ 백준 1939번 - 중량제한 목차 문제 내가 푼 방법 자바 코드 결과 및 회고 1. 문제 https://www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1 ≤ M ≤ 100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1 ≤ A, B ≤ N), C(1 ≤ C ≤ 1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 www.acmicpc.net 2. 내가 푼 방법 특정 노드에서 특정 노드로 이동할 수 있는 다익스트라 알고리즘을 떠올렸다. 하지만 최대 가중치를 가지는 경로를 찾는다는 점에서 조금 변형된 문제이다. 시작 정점 s에서 다른 정점까지 갈 수 있는 최대 가중치를 dist 배열에 저장해 두었다. 이 최대 가중치들은.. 2024. 1. 3. [JAVA] BOJ 백준 2146번 - 다리 만들기 목차 문제 내가 푼 방법 자바 코드 결과 및 회고 1. 문제 https://www.acmicpc.net/problem/2146 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 2. 내가 푼 방법 BFS 알고리즘을 이용해 문제 설명대로 구현하니 쉽게 풀렸다. 우선 각 섬들의 번호를 매기는 getIsland 함수와 섬들을 잇는 getBridge 함수를 정의했다. public static void solution() { getIsland(); getBridge(); } getIsland 함수는 현재 위치의 섬이 아직 정.. 2024. 1. 3. [JAVA] BOJ 백준 16235번 - 나무 재테크 목차 문제 내가 푼 방법 자바 코드 결과 및 회고 1. 문제 https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 www.acmicpc.net 2. 내가 푼 방법 열심히 실수하지 않고 구현해주면 쉽게 풀리는 문제이다. 상도가 키우는 나무를 우선순위 큐에 담아, 봄에 나무 나이가 어린 나무부터 양분을 먹을 수 있도록 했다. 또한 point 배열은 땅의 양분의 기준이 되고, diePoint 배열은 봄, 여름에 필요한 죽은 나무들의 양분을, addPoint 배열은 봄.. 2024. 1. 2. [JAVA] BOJ 백준 1202번 - 보석 도둑 목차 문제 내가 푼 방법 자바 코드 결과 및 회고 1. 문제 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 2. 내가 푼 방법 보석의 최대 가격을 구해야 하므로 그리디 알고리즘을 이용해야 한다. 가방이 들 수 있는 무게와 보석의 무게를 오름차순으로 정렬한 후 코드를 작성했다. 따라서 현재 가방이 들 수 있는 무게까지 보석의 가격을 우선순위 큐에 넣을 수 있고, 보석의 가격을 바로 뽑.. 2024. 1. 2. [JAVA] BOJ 백준 1937번 - 욕심쟁이 판다 목차 문제 내가 푼 방법 자바 코드 결과 및 회고 1. 문제 https://www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n × n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에 www.acmicpc.net 2. 내가 푼 방법 DP문제이다. 현재 위치에서 이동할 수 있는 칸의 수를 카운팅한 적이 없다면 sum 함수를 돌면 된다. Integer 형인 이차원 배열을 사용하여 이전에 방문한 적이 없는 null일 경우, 상하좌우로 이동할 수 있는 더 큰 값이 있다면 그 칸들 중 최대 칸 이동 + 1을 해주고, 없다면 그냥 1이 된다. 3.. 2024. 1. 2. 이전 1 ··· 3 4 5 6 7 8 9 ··· 14 다음