bfs

코딩테스트 일기 (BAEKJOON)

BEAKJOON / 백준 - JAVA 18511번 큰 수 구성하기

2024.08.12기준 - 실버5백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 수 n과 1 ~ 9까지의 숫자들이 주어졌을 때, 1 ~ 9 까지 주어진 수를 이용해 n보다 작거나 같은 수 중 제일 큰 값을 출력하는 문제입니다. 1. 이 문제는 재귀함수를 통해 풀어나갔습니다.private static void function(int num) { if (num > n) { // 값이 더 커지면 멈춘다. return; } if (max = 0; i--) { function(num * 10 + arr[i]); }} 모든 수를 일의 자리에 추가를 해주면서 주어진 수가 n보다 커지면 break를 크지 않고, 현재 max값 보다 크다면 max값에 저장을 ..

코딩테스트 일기 (BAEKJOON)

BEAKJOON / 백준 - JAVA 7569번 토마토

2024.08.11기준 - 골드5백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 익은 토마토가 안 익은 토마토를 익게 만들 때, 전부 익을 수 있다면 다 익을 때 까지 걸리는 시간을 아니라면 -1을 출력하는 문제입니다. 1. 우선 참조하는 위치에서 이동할 좌표를 선언했습니다.static int[] dx = {0, 1, 0, -1, 0, 0};static int[] dy = {-1, 0, 1, 0, 0, 0};static int[] dh = {0, 0, 0, 0, 1, -1}; 2. 밭을 저장할 int[][][] field을 생성했습니다.static int[][][] field;field = new int[h][m][n];for (int i = 0; i  3. 밭에서 익은 토마토가 있을 때..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 31946번 죽음의 등굣길

2024.06.22기준 - 실버1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 입력을 기준으로 점프할 수 있는 거리를 이용해 오른쪽 맨 밑에 칸(h, w)에 갈 수 있는지 확인하는 문제입니다. 1. 우선적으로 조건 중 보드블록이 다르다면 갈 수 없기 때문에, 시작과 끝의 보드블록을 확인합니다.// 시작과 끝의 보도블럭이 다르면 무조건 실패한다.if (map[0][0] != map[h - 1][w - 1]) { sb.append("DEAD");} 2. 현재 참조하는 위치에서 갈 수 있는 모든 좌표를 visit[][]에 true로 설정을 해줍니다.// 갈 수 있는 곳을 체크하는 함수.private static void function(int y, int x) { int n..

코딩테스트 일기 (BAEKJOON)

BAEKJOON / 백준 - JAVA 14940번 쉬운 최단거리

2024.05.10기준 - 실버1백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 지도에서 목표 지점까지의 거리를 구하는 문제입니다. 문제 접근은 BFS 알고리즘을 이용하여 시작점부터 목표 지점까지의 모든 지점에 대한 거리를 계산을 해보았습니다. boolean[][] visit 변수로 이미 한 번 거리를 계산한 곳은true로 지정해 다시 거리를 잴 수 없도록 체크하는 변수를 생성합니다. find()라는 함수를 생성해 BFS를 계산을 했습니다. 큐에 처음 시작하는 시작점을 넣어줍니다. 우선 처음 시작점을 nowx, nowy로 받아 초기화 시켜줬습니다.그러고 처음 시작점의 길이는 0이므로 0으로 설정해주며 한 번 거리가 측정된 곳은 true로 설정해줍니다. 그 다음 큐에 size가 0이..

Coding_Slowly
'bfs' 태그의 글 목록 (2 Page)