//알고리즘 1. 백트래킹 2. 행, 열, 3x3 을 확인하여 해당자리 에 들어갈 수 있는 숫자 중 가장 적은 숫자부터 넣기 시작함. 3. 값이 첫번째로 다 채워진다면 재귀를 탈출한다(정답이 여러개 나올 수 있음) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class 스도쿠_2239 { static int map[][], copyMap[][]; static boolean flag = true; static boolean[] v = new boolean[10]; public static void main(String[] args..
//알고리즘 1. 시뮬레이션 2. 규칙을 찾아 해결하면 되는 문제 -> 세대별로 규칙이있음 : 이전세대의 방향에 +1을하고 뒤에서부터 추가해주면 됨. -> ex ) 0세대 : 1, 1세대 : 1/ 2 2세대 : 12 / 32 3. 리스트를 사용하여 관리 -> 배열을 사용할 경우 방향값 추가하기가 어려움. 더보기 import java.util.ArrayList; import java.util.List; import java.util.Scanner; public class 드래곤커브_15685 { static int K, map[][], ans; static int[] dr = { 0, -1, 0, 1 }; // 오 상 왼 하 static int[] dc = { 1, 0, -1, 0 }; static int..
//알고리즘 1. 재귀 2. 1일, 한달, 3개월동안 최소값 계산하여 저장. 3. 최소값과 1년권의 비용과 비교하여 결과값 도출 -> DP로 푼다면 깔끔하게 풀리는 문제 추후 업로드 예정 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 수영장 { static int T, cost[], arr[], ans; public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new Buffer..