목록코딩 (163)
삐까냥의 파도타기
이전 문제와 동일합니다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q1890 { static int mapSize;static int[][] map;static long[][] mapValue;public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = new StringTokenizer(br.readLine()); mapSize = Intege..
토요일날 공부하기 힘드네요 플루이드 로직을 활용하여, 경로 개수를 찾는 로직입니다.map[y][x] = 1로 설정후 mapSearch(1,1) 플루이드 로직을 통해, 경로 찾습니다. 시간 초과가 발생하기 때문에, isVisit 플래그를 추가하여, 한번 탐색한 경로일 경우재 탐색을 하지 말고 경로를 return 합니다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q1520 { static long[][][] map;static int y, x;public static void main(String[] args) throws Exception {Buffer..
현재 값보다 작은 수에게 1을 더하며 나아가는 로직 가장 긴 증가하는 부분 수열과 같은 알고리즘 입니다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q11722 { static int[][] array;public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = new StringTokenizer(br.readLine());int num = Int..
현재 숫자를 이후 숫자들에 더하며 나아가는 로직 로직 설명을 해야하는데 어렵네요. i번째 숫자를 i+2번째에 더했다고 가정할때,"i번째 숫자 < i+k번째 숫자 < i+2번째" 숫자여야 합니다. "i+k번째 숫자 < i+2번째 숫자"라는 조건이 없을 경우"i번째 숫자"가 중복으로 더해지는 문제가 발생하기 때문입니다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q11055 { static long[][] array = new long[2][1001];public static void main(String[] args) throws Exception {Bu..
아래, 오른쪽 방향으로 가며 상, 좌의 max value를 더하며 나아가는 방식입니다. 문제 조건에는 대각선 방향이동도 존재하지만, 대각선 이동 값
값들의 합을 저장하며 나아가는 로직.array[0][0]부터 array[i][j]까지의 합 : sumArray[i][j] = sumArray[i-1][j] + array[i][j] + sumArray[i][j-1] - sumArray[i-1][j-1];array[y1][x1]부터 array[y2][x2]까지의 합 : sumArray[y2][x2] - sumArray[y1-1][x2] - sumArray[y2][x1-1] + sumArray[y1-1][x1-1]; import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q2167 { static long[][] arr..
이전에 풀었던 Q10844. 쉬운 계단 수 문제와 똑같은 문제입니다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q11057 { static long[][] array;public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = new StringTokenizer(br.readLine());int num = Integer.valueOf(st.nex..
한 변의 값을 나열해나가면 다음고 같이 규칙이 보입니다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q9461 { static long[] array = new long[101];public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = new StringTokenizer(br.readLine());array[1] = 1;array[2] = 1;..
최대 값을 저장하며 나아가는 로직. array[0][2] 가 선택할 수 있는 스티커의 위치는 array[1][0]와 array[1][1]이며, 두 스티커를 선택할 경우의 저장된 최대값을 선택한다.array[1][2] 가 선택할 수 있는 스티커의 위치는 array[0][0]와 array[0][1]이며, 두 스티커를 선택할 경우의 저장된 최대값을 선택한다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q9465 { static int[][] array;static int[][] values;public static void main(String[] args)..
간단한 수식도 존재하지만 DP로 풀었습니다. 자르는 횟수를 저장하며 나아가는 로직 입니다. import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer; public class Q2163 { static int[][] array;public static void main(String[] args) throws Exception {BufferedReader br = new BufferedReader(new InputStreamReader(System.in));StringTokenizer st = new StringTokenizer(br.readLine()); int n = Integer.value..