목록백준 (31)
개발 무지렁이

나머지합 🪅 입력범위를 보고서 결과값이 int 범위(2147483647)를 넘어서는지를 예측할 수 있는가 🪅 구간합을 구할 때 누적합을 구할 수 있는가 🪅 누적합을 구할 때 패딩을 넣어줄 수 있는가 🪅 (S[i] - S[j]) % M == 0, 분배법칙을 이용해 문제를 해결할 수 있는가 => S[i] % M == S[j] % M 🪅 쌍을 구할 때 Combination을 이용할 수 있는가 => nC2 = n(n-1)/2 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public cla..

탑 🪅 가장 나중에 들어오는 데이터를 먼저 검사하는 흐름을 보고 스택(Stack)을 떠올릴 수 있느냐 🪅 헷갈리기 쉬운 정보들을 class로 묶어 정리할 수 있느냐 🪅 두 개의 스택으로, 한 스택에서 뺀 데이터 중 조건에 맞는 데이터만, 나머지 스택에 push할 절차를 구현할 수 있느냐 🪅 데이터에 따라 불명확한 반복횟수를 세줄 또다른 변수를 만들 생각을 할 수 있느냐 🪅 조건을 만족했을 시, 다음 데이터에 영향을 주지 않도록 초기화했느냐 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer;..

수찾기 🪅 중첩 for문을 도는 것 대신, 다른 시간복잡도가 낮은 탐색과정을 알고있는가 🪅 이진탐색을 위한 조건을 알고 있는가 => 정렬되어 있어야한다. 🪅 이진탐색을 구현할 수 있는가 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { static int[] arr; public static int binarySearch(int target) { int low = 0; int high = arr.length - 1; while(low

미로탐색 🪅 시뮬레이션 유형의 문제에서 배열 dx, dy를 이용할 수 있느냐 🪅 문제의 조건에 맞는 범위를 벗어났을 때, 예외를 처리할 수 있느냐 🪅 BFS를 구현할 수 있느냐 => 큐를 이용 📌 int a = arr[i].charAt(j) -'0'; // 문자에서 '0'을 빼고 int 변수에 넣어주면 해당 문자의 유니코드 값이 나온다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Arrays; import java.util.Queue; import java.util.StringTokenizer; /**..

카드2 🪅 카드를 빼는 위치와 옮기는 위치를 보고서 큐(Queue)를 생각할 수 있느냐 🪅 큐(Queue)를 구현할 수 있느냐 => new ArrayDeque(); 🪅 어떤 동작을 반복할 때, 반복동작을 메서드로 만들 수 있느냐 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayDeque; import java.util.Queue; /** * 백준 2164번 카드2 * * 입력: * 첫째 줄에 정수 N(1 ≤ N ≤ 500,000)이 주어진다. * * 출력: * 첫째 줄에 남게 되는 카드의 번호를 출력한다. * */ public class Main {..

스택수열 🪅 각 반복문 종료조건을 명확히 알고있느냐, 종료조건을 넣을 알맞은 위치를 찾을 수 있느냐 🪅 반복문을 돌리고 나서, 스택에 데이터가 남아있다는 것이 의미하는 바를 아느냐 🪅 인덱스를 만들어야 할 때를 알고 있느냐 => 바깥쪽 for문에 영향을 주지 않기 위해서 🪅 출력이 많을 때 StringBuilder로 출력할 수 있느냐 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; /** * 백준 1874번 스택수열 * * 입력: * 첫 줄에 n (1 ≤ n ≤ 100,000)이 주어진다. 둘째 줄부터 n개의 줄에는 수열을 이루는 1이상 n이하의..