목록코딩 테스트 (72)
개발 무지렁이

경비원 🪅. if-else if문을 쓸 때는 '명확한 기준'에 의해서 나눠야한다. => 되도록 &&를 쓰지 않는다, 헷갈린다. 🪅. if문으로 나누기보단 'Math.min( , )'을 자주 이용하자. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class B2564_경비원 { static int w; static int h; static int num; static int[][] coords; static int x; static int y..

동전1 🪅. dp에서 '메모이제이션'을 할 때, M[k]를 구하려면 M[1]부터 구해야한다. (1 지금 구하려는 값이 이전의 기록과 비교해서 어떤 점이 달라졌는지에 초점을 맞춘다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class B2293_동전1 { static int n; static int k; static int[] coins; static int cnt; static int[] M; public static int dp(int r, int ..

🪅. 문제를 보고 DP를 생각하고, 구현할 수 있느냐 => 답을 구하는 과정을 일반화할 수 있느냐, 예외를 if문으로 처리할 수 있느냐 🪅. 문제를 보는 시각을, 윗줄 데이터가 아랫줄 데이터를 선택하는 것이 아닌, 아랫줄 데이터가 윗줄 데이터 중 큰데이터를 선택하는 시각으로 볼 수 있느냐 🪅. 역순으로 정렬하기 위해, int[]를 Integer[]로 변환할 수 있느냐 정수 삼각형 [시간초과로 통과 못한 코드.java] import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.S..

야구 🪅. 반복문을 돌릴때마다 조건에 맞는 '초기화'를 했는가? => 다음 반복에 영향을 주지 않게 🪅. 일의 순서를 따질 때, '완전탐색 순열'을 생각해서 구현할 수 있는가? => '백트래킹' 🪅. 순열의 '작업'과 문제 조건에 맞는 '로직'을 '분리'시켰는가 => 하나의 메서드는 '하나의 기능'만을 수행 🪅. '전역변수'의 사용을 남용하지 않았는가? => '하나의 메서드 안'에서만 로직에 사용되는 데이터는 '지역변수'에 대입 import java.io.BufferedReader; import java.io.IOException; import java.io.In..

계단 오르기 🪅. dp(동적 프로그래밍)을 구현할 줄 아느냐 => '메모이제이션**' 🪅. 문제의 조건에 맞는 정확한 '점화식'을 세울 수 있느냐 => 1일때부터 조건에 맞는 답을 구해본다. 🪅. 점화식을 만들기 위해 1부터 몇 개까지 값에 대한 정의를 해야하는지 알 수 있는가? => 몇개부터가 이전의 기록으로 해결할 수 있는가를 본다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; public class B2579_계단오르기 { static int N; static int[] steps; static int[] ..

종이의 개수 🪅. 재귀를 이용해서 분할할 수 있는가 => 파라미터로 '시작좌표', 'size' 필요 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class B1780_종이의개수 { static int N; static int[][] arr2d; static int cntM1; static int cnt0; static int cnt1; public static boolean checkValid(int x, int y, int size) { int std = arr2d[x][y]; fo..