코테/백준

📖 문제 https://www.acmicpc.net/problem/10431   💡  풀이 방식• 시뮬레이션1. TC 번호와 20개의 숫자를 입력받는다.2. 각 학생들에 대해 본인 앞에 있는 본인보다 키 큰 사람 수를 구한다. ⇒ 시간 복잡도 : O(TC * N^2) 🔺 코드123456789101112131415161718192021222324252627282930313233343536import java.util.*;import java.io.*; public class Main {    static int T, P;        public static void main(String[] args) throws IOException {        BufferedReader br = new Buf..
📖 문제 https://www.acmicpc.net/problem/1240   💡  풀이 방식• BFS 1.  인접 리스트를 만들고 N-1개의 연결 정보를 양방향으로 저장한다.2. M개의 노드 쌍에 대해 첫 번째 노드부터 두 번째 노드까지의 거리를 구한다. (BFS)   🔺 코드12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576import java.util.*;import java.io.*; public class Main {    static int N,M;    static ListNode>[..
📖 문제 https://www.acmicpc.net/problem/18429   💡  풀이 방식• DFS (조합)백트래킹으로 운동 키트 번호를 뽑는다. (중복 X)뽑은 운동 키트를 순서대로 돌면서, 중량이 모두 500 이상인 경우만 정답 +1을 한다.  🔺 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556import java.util.*;import java.io.*; public class Main {    static int N,K,answer;    static int[] arr;    static boolean[] chk;    static ListInt..
📖 문제 https://www.acmicpc.net/problem/10709   💡  풀이 방식• 구현1. 2차원 배열에 구역 값을 입력받는다.2. 각 행을 돌며 각 (i,j)가 몇 분 뒤 처음으로 하늘에 구름이 오는지를 확인한다.  - 현재 i번째 행의 j번째 열에 구름이 있는 경우> dist[i][j] = 0, 현재 열 j를 변수로 저장한다.  - 현재 i번째 행의 j번째 열에 구름이 없는 경우> 앞 열에서 구름이 있었다면, (현재 열 - 가장 가까운 구름 열)의 값을 dist[i][j]에 저장한다.  🔺 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556im..
📖 문제 https://www.acmicpc.net/problem/14002   💡  풀이 방식• LIS (DP) LIS 배열을 만든다.이 때 String 배열을 숫자의 수만큼 만들고, 최장 길이 수열이 만들어졌을 때 수열 정보를 업데이트한다.   🔺 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950import java.util.*;import java.io.*; public class Main {    static int N;    static int[] A, dp;    static String[] str;        public static void main(String[] ..
📖 문제 https://www.acmicpc.net/problem/2118   💡  풀이 방식• 누적합, 투 포인터 N가지 지점 中 2가지를 뽑는 경우의 수는 N * (N-1)/2이고, 이러면 약 12억 5천만을 넘으므로 시간 초과가 발생한다.그러므로 투 포인터로 두 지점을 뽑는다. 그리고 나서 정방향 / 역방향으로 진행하며 최대 거리를 구한다.   🔺 코드12345678910111213141516171819202122232425262728293031323334353637383940414243import java.util.*;import java.io.*; public class Main {    public static void main(String[] args) throws IOException..
📖 문제 https://www.acmicpc.net/problem/2870   💡  풀이 방식• 문자열 , 파싱   🔺 코드1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950import java.util.*;import java.io.*;import java.math.*; public class Main {    static int N;    static ListBigInteger> list = new ArrayList>();        public static void main(String[] args) throws IOException {        BufferedReader br..
📖 문제 https://www.acmicpc.net/problem/3474   💡  풀이 방식• 정수 10은 2와 5로 만들 수 있다.따라서 10을 만들 수 있는 갯수는 N/2의 제곱, N/5의 제곱 중 최솟값이다.  🔺 코드1234567891011121314151617181920212223242526272829import java.util.*;import java.io.*; public class Main {    static int T;    static StringBuilder sb = new StringBuilder();        public static void main(String[] args) throws IOException {        BufferedReader br = ne..
📖 문제 https://www.acmicpc.net/problem/7490   💡  풀이 방식• 브루트포스 + 백트래킹 + 문자열 [DFS 함수]- 인자: now - 현재 탐색 중인 숫자의 위치 (1부터 시작) / num - 현재 숫자 / sign - 현재 숫자의 부호 (1이면 +, -1이면 -) / sum - 현재까지의 합계 / str - 현재까지의 연산식- 종료 조건: 수열의 맨 마지막 숫자 N에 도달했을 경우- 부호가 [공백이냐/+냐/-냐] 에 따라 재귀함수를 호출한다.   🔺 코드1234567891011121314151617181920212223242526272829303132333435import java.util.*;import java.io.*; public class Main {   ..
imname1am
'코테/백준' 카테고리의 글 목록 (4 Page)