no image
JAVA [Algorithm] - 백준 1193 분수 찾기
📝문제 설명 📢입출력 예시 ✏️문제 풀이순서는 이런 방향으로 되어 있다.여기서 한 번 더 생각하면  대각선으로 분모와 분자의 합이 홀수이면 아래로 내려가는 방향분모와 분자의 합이 짝수이면 위로 올라가는 방향이 그려지게 된다. 그렇다면 완전 탐색을 사용하여 홀, 짝일 때의 경우의 수에 각 칸마다 반복문을 돌려주고 그 값에 count++를 해준 뒤, 입력 값과 똑같다면 값을 출력해주면 된다.  빨간색 숫자는 첫 반복문으로 i 값이 되고, 이 i값은 분모와 분자의 합이 홀, 짝인지 판단하는 값이 될 것이다.주황색 숫자는 i값에 대해 두 번째 반복문으로 j=1부터 i값까지 반복문을 돌려주며, count 값을 증가시킨다. package Baekjoon.Simulation;import java.util.Scan..
2024.12.19
no image
JAVA [Algorithm] - 백준 2563 색종이
📝문제 설명 📢입출력 예시 ✏️문제 풀이- 겹친 부분을 제외한 넓이를 구하는 문제이다.- 겹친 부분을 구하고 전체 넓이에서 빼려고 했지만, 조건들이 까다로워 브루트 포스 방식을 사용하기로 했다.- 주어진 x, y좌표에서부터 x+9, y+9만큼까지의 범위에서 방문했다면 넓이값 +1 을 해주는 방식을 사용했다.package Baekjoon.BruteForce;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Baek2563 { public static void main(String[] args) throws ..
2024.12.19
no image
JAVA [Algorithm] - 백준 2206 벽 부수고 이동하기
📝문제 설명 📢입출력 예시 ✏️문제 풀이정답 코드package Baekjoon.Graph;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Baek2206_1 { static int N, M; static int[][] map; static boolean[][][] visited; static int[] dx = {-1, 0, 1, 0}; static int[] dy = {0, 1, 0, -1}..
2024.12.18
no image
JAVA [Algorithm] - 백준 14502 연구소
📝문제 설명 - 0은 빈칸, 1은 벽, 2는 바이러스- 바이러스는 상하좌우로 움직이며 벽으로 가로막혀 있으면 퍼질 수 없다.- 벽을 3개를 모두 세운 뒤 바이러스를 퍼트린 후, 0 빈칸의 개수가 최대인 값을 구하면 된다.📢입출력 예시 ✏️문제 풀이package Baekjoon.Graph;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class Baek14502 { static int[][] map; static int..
2024.12.18
no image
JAVA [Algorithm] - 백준 7576 토마토
📝문제 설명  - 익은 토마토는 1, 익지 않은 토마토는 0, 토마토가 없으면 -1- 하루가 지나면 익지 않은 토마토는 익은 토마토에게 영향을 받아 상하좌우로 익게 된다. 입출력 1번을 예시로 변화 과정은 아래와 같다.📢입출력 예시 ✏️문제 풀이package Baekjoon.Graph.BFS;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;class Point{ int x; int y; Point(int x, int y){ ..
2024.12.17
no image
JAVA [Algorithm] - 백준 1697 숨바꼭질
📝문제 설명 - 처음에는 그리디 알고리즘인 줄 알고 그리디로 접근하려 했지만 매 순간 최적의 선택(2*x로 갈 때)을 하더라도 최단 거리를 보장할 수 없을 것 같아 BFS로 접근해보았다. - 수빈이가 이동할 수 있는 경우 : X-1, X+1, 2*X- 0초일 때 : X위치- 1초 후일 때 : X-1, X+1, 2*X - 수빈이의 위치를 배열의 인덱스로 정하고 해당 인덱스 값에 초를 기입한다. 배열의 기본 값은 0이기 때문에 초는 +1을 해주며 결과값을 도출 할 때는 -1을 해줄 예정- 가장 빠른 시간을 구하는 것이 목적이기 때문에 위치를 이동했다가 다시 방문할 때는 값을 변경하지 않는다. 수빈이 위치 : 5동생 위치 : 17 0초일 때수빈이의 위치를 배열의 인덱스 값으로 정한다고 했으니 인덱스 5번 위..
2024.12.16
no image
JAVA [Algorithm] - 백준 2178 미로 탐색
📝문제 설명 - 배열의 시작인 인덱스값 [0,0]에서 배열의 끝인 인덱스값 [3,5]까지의 최단거리를 구하는 문제- 최단 거리 문제는 무조건 BFS로 풀어야한다. DFS로 풀면 시간초과남📢입출력 예시 ✏️문제 풀이다양한 풀이 방법 터득을 위해 클래스를 사용한 방법과 배열을 사용한 방법 두가지로 풀어 보았다. 클래스 사용 풀이더보기package Baekjoon.Graph.BFS;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.LinkedList;import java.util.Queue;import java.util.St..
2024.12.14
no image
JAVA [Algorithm] - 백준 2667 단지번호 붙이기
📝문제 설명 - map에서 1인 경우에 DFS, BFS가 몇번 실행되는지,- DFS, BFS 실행되는 경우 그 안에서 몇번 실행되는지 묻는 문제이다.📢입출력 예시 ✏️문제 풀이DFS 풀이더보기package Baekjoon.Graph.DFS;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;public class Baek2667 { static int[][] map; static boolean[][] visited; static ArrayList countList = new Ar..
2024.12.14