// 알고리즘 1. 구현 2. 탐색 배열 사용 -> 원래 8방 탐색을 해야하지만 왼쪽 위부터 검사한다면 4방 탐색으로도 가능 -> 우상, 우, 우하, 하 더보기 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 오목_2615_re { static int[] dr = { -1, 0, 1, 1 }; static int[] dc = { 1, 1, 1, 0 }; static int[][] map; public static void main(String[] args) throws IOException { Buffer..
//알고리즘 1. 그래프 탐색 2. 주어진 간선으로 인접리스트를 생성 3. 방문배열 ->방문배열을 int배열로 만들어 1부터 시작하여 도달할 수 있는 거리를 저장한다. -> 이미 방문한 노드는 0이 아님 -> 시작점은 -1로 세팅해야 함 4. 방문배열의 최대값을 찾고 정답을(가장 먼 노드들)찾음 더보기 import java.util.*; class Solution { ArrayList[] list; int[] v; class Point{ int r,cnt; public Point(int r,int cnt){ this.r = r; this.cnt = cnt; } } public int solution(int n, int[][] edge) { int answer = 0; list = new ArrayList..
//알고리즘 1. 완전탐색 2. brown과 yellow의 합을 만들 수 있는 곱셈의 조합을 다 계산해봐야 함. -> yellow가 1이상 있어야 하니까 i = 3이상이 되어야 함. 3. for문을 3부터 돌려서 모든경우를 체크 더보기 import java.util.*; class Solution { public int[] solution(int brown, int yellow) { int[] answer = new int[2]; int sum = brown + yellow; int y = 0, x = 0; for(int i = 3; i