//알고리즘 1. 시뮬레이션문제 2. 입력값에 숫자 + 알파벳으로 나와서 상당히 귀찮은 문제.. -> 객체하나 만들어서 입력값 담고 리스트로 저장 3. 꼬리를 저장해야 하기 때문에 Queue 사용해서 꼬리저장하고 하나씩 빼야 함. -> 큐를 사용해서 꼬리만 잘 처리해주고, 방향계산만 잘해주면 쉽게 풀 수 있음. import java.util.ArrayList; import java.util.LinkedList; import java.util.List; import java.util.Queue; import java.util.Scanner; public class 뱀_3190 { static int N, K, L, map[][]; static int[] dr = { 0, 1, 0, -1 }; // 오 , ..
//알고리즘 1. 단순 시뮬레이션 문제 -> 구현은 크게 어렵지는 않았지만 주어진 값의 범위를 생각못하고 재귀로 풀어버리려고했음..(N값 100만) -> 재귀를 for문으로 고쳤지만 시간초과가 남. -> 알고리즘은 똑같지만 입력할 때, Scanner를 사용했는데 BufferedReader로 바꿔서 시간초과를 해결 함. -> M값이 700이하고 N값이 100만 이하기 때문에 지금 구현 한 알고리즘도 문제가 있어보임. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class..
//알고리즘 1. 탐색문제 + 약간의 아이디어 2. 치즈안에있는 0과(구멍) 치즈 밖의 공기의 구분이 필요함. 3. 가장자리에서 dfs를 돌려 공기를 방문배열에 true로 표시. 4. 가장자리에 있는 치즈 제거 5. 녹은 치즈와 0의 개수를 담는 변수 sum, cnt를 선언하여 0의 개수가 맵의 크기와 같을 때 (전부 다 녹음), 기저조건에서 결과값을 알 수 있음. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class 치즈_2636 { static int N, M, map[][], ans, time; stati..