전체 글

전체 글

    BOJ - 마법사 상어와 복제 23290번 (JAVA)

    ❓ 문제 - 백준 마법사 상어와 복제 23290번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/23290) 23290번: 마법사 상어와 복제 첫째 줄에 물고기의 수 M, 상어가 마법을 연습한 횟수 S가 주어진다. 둘째 줄부터 M개의 줄에는 물고기의 정보 fx, fy, d가 주어진다. (fx, fy)는 물고기의 위치를 의미하고, d는 방향을 의미한다. 방향 www.acmicpc.net 📝 문제해결법 1. 이 문제는 DFS(중복조합) + 시뮬레이션으로 문제를 풀었다. 문제의 전체적인 흐름은 복제 -> 물고기 이동 -> 상어의 이동 -> 복제마법 이다. 전체적인 시뮬레이션 구현을 위해 3중 ArrayList 의 map으로 i행 ,j열에 물고기의 정보(방향)등을 저장한다...

    BOJ - 입국심사 3079번 (JAVA)

    ❓ 문제 - 백준 입국심사 3079번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/3079) 3079번: 입국심사 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) www.acmicpc.net 📝 문제해결법 1. 이 문제는 이진탐색(Binary Search)로 해결했다. 이진 탐색 -> 시간을 중심으로 탐색 해당 시간일 때 최대 몇 명의 사람을 입국 심사대에서 통과 시킬 수 있는가를 중점으로 이진탐색을 진행 만약 mid초일 때, m명 이상의 사람을 해당 시간에 입국 심사대에서 보낼 수 있음 -> 시간 탐색범..

    BOJ - 빙산 2573번 (JAVA)

    ❓ 문제 - 백준 빙산 2573번 - JAVA 풀이법 출처 (https://www.acmicpc.net/problem/2573) 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 📝 문제해결법 1. 이 문제는 DFS 풀이로 해결하였다. 2. while문을 통해 얼음이 존재하는 지 check() → true: 얼음 존재 하지 않으므로 while문 break 3. 1년 증가 후 얼음 감소 down() 처리 2차원 배열 map의 얼음감소를 저장할 copy 배열 왜 copy 배열에 감소된 얼음양을 저장 ? → 1..

    SW Expert Academy - 무선 충전 (JAVA)

    ❓ 문제 - SW Expert Academy 무선 충전 JAVA 풀이법 출처 (https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWXRDL1aeugDFAUo) 📝 문제해결법 1. 이 문제는 시뮬레이션 + 중복조합으로 풀었다. 사용자(A, B)의 입장으로 시뮬레이션을 구현하였다. c_list에 무선충전기의 대한 정보를 Charger라는 클래스를 통해 객체로 만든 후 ArrayList에 add했다. A, B가 움직이는 시간 0 ~ M 에서 각 초에 대한 움직임으로 얼만큼 충전하는지 구현하였다. 우선 A, B가 처음에 있는 위치 (1, 1) , (10, 10)에서도 무선충전기의 영향 안에 있다면 충전 가능하다. A, B와..