본문 바로가기

CODING/BAEKJOON74

[BAEKJOON] 카드 구매하기 import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws IOException {.. 2024. 3. 31.
[BAEKJOON] 알고리즘의 수행 시간 1 예제 입력 아래에 명시되어 있는대로 입력크기 n이 어떤 값이더라도 코드1은 항상 1회 수행되고, 시간복잡도는 O(1)이기 때문에 최고차항의 차수도 항상 0이 출력된다. public class Main { public static void main(String[] args) { System.out.println(1); System.out.println(0); } } [출처] https://www.acmicpc.net/problem/24262 24262번: 알고리즘 수업 - 알고리즘의 수행 시간 1 오늘도 서준이는 알고리즘의 수행시간 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 입력의 크기 n이 주어지면 MenOfPassion 알고리즘 수행 시 www.ac.. 2023. 10. 26.
[BAEKJOON] 효율적인 해킹 풀이 방법 1. a → b 단방향 그래프 생성, 방문 카운트용 int형 answer 일차원 배열 생성 2. 모든 컴퓨터를 시작 지점으로 설정하여 각각의 경로 찾아갈 때마다 visited 배열 초기화 3. 해킹 가능한 컴퓨터 순회 돌면서 방문하지 않았다면 bfs 탐색 4. bfs 내부에서 해킹 가능한 컴퓨터를 만났다면 현재 컴퓨터 번호(=index)에 +1 5. 한 번에 해킹 가능한 최댓값을 찾아서 최댓값과 카운트가 같은 컴퓨터 번호 출력 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; impor.. 2023. 8. 10.
[BAEKJOON] 플로이드 하나의 출발점에 대해 모든 정점의 최단 경로를 구한 다음, 문제에서 요구하는 도착점까지의 최단 경로를 출력한다. 다익스트라 알고리즘으로 풀이 1. 모든 정점의 비용을 최댓값으로 초기화한다. (시작점의 비용은 0) 2. 최단 경로여야 하므로 우선순위큐를 사용하여 비용이 오름차순 정렬되게끔 한다. (작은 비용의 경로먼저 탐색) 3. 탐색해야 할 노드의 비용이 현재까지 지나온 비용보다 클 경우는 탐색할 필요 없음 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.Prior.. 2023. 8. 2.
[BAEKJOON] 치즈 1. 외부 공기 (0, 0)부터 시작이라 가정하여 bfs 돌리기 2. 공기와 맞닿은 치즈는 맞닿은 횟수만큼 카운트 하기 3. 공기와 맞닿은 부분이 2회 이상이라면 녹은 치즈로 판단하기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Queue; import java.util.StringTokenizer; public class Main { static int N, M, total; static boolean[][] cheese; static int[][] arr, dir= {{0,1},{0,-1},{1,0}.. 2023. 7. 21.
[BAEKJOON] 녹색 옷 입은 애가 젤다지? SWEA의 '등산로 조정' 문제와 유사하다고 느껴졌다. 1. [0][0]칸에서 시작해 [N-1][N-1] 칸까지 최소 비용으로 도달할 수 있는 완전 탐색을 한다. 2. BFS를 사용했으며 우선순위큐로 현재 비용이 더 작은 것부터 탐색한다. 3. 현재 비용이 더 작은 것은 어떻게 알 수 있는가 ? 4. visit 방문 체크를 하지 않고, 초기 값을 Integer.MAX_VALUE 값으로 설정해주어 현재까지의 비용과 비교하며 더 작은 값으로 갱신한다. import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.Output.. 2023. 2. 25.