응애개발자
article thumbnail
[Java] 백준 14453번 : Hoof, Paper, Scissors (Silver)
코딩테스트/백준 2024. 6. 4. 21:25

문제https://www.acmicpc.net/problem/14453  코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { private static BufferedReader br; private static StringTokenizer st; private static StringBuilder sb; private static int N; private static int[][] arr; private static int max = Integer.MIN_VALUE; ..

article thumbnail
[Java] 백준 14719번 : 빗물
코딩테스트/백준 2024. 5. 31. 13:08

문제https://www.acmicpc.net/problem/14719 접근 방법이 문제는 창고 다각형과 비슷한 문제이다.왼쪽부터 오른쪽으로 탐색하며 큰 값을 저장하고, 오른쪽부터 왼쪽으로 탐색하며 큰 값을 저장한뒤두 배열의 작은 값을 기준으로 기둥을 빼주면 빗물이 나온다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; private stati..

article thumbnail
[Java] 백준 1912번 : 연속합
코딩테스트/백준 2024. 5. 31. 12:15

문제https://www.acmicpc.net/problem/1912 접근 방법각 수가 주어졌을때 연속된 수를 선택(1~N개)해서 구할 수 있는 합중 가장 큰 합을 구하는 문제이다.따라서 이전부터 계속 연속한 값과, 현재부터 연속된 값의 경우를 비교하며 큰 값만 담아주면 된다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; private st..

article thumbnail
[Java] 백준 2304번 : 창고 다각형
코딩테스트/백준 2024. 5. 31. 11:53

문제https://www.acmicpc.net/problem/2304  접근 방법왼쪽부터 오른쪽으로 탐색하며 원본 배열과 prefix배열을 비교하며 큰 수를 담아주었고오른쪽부터 왼쪽으로 탐색하며 원보 배열과 suffix배열을 비교하며 큰 수를 담아주었다.prefix 배열, suffix 배열은 각 방향으로 진행하며 큰 수가 담겨져 있을 것이고 그 수중 작은 것드리 창고의 지붕이 된다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; p..

article thumbnail
[Java] 백준 2559번 : 수열
코딩테스트/백준 2024. 5. 30. 13:39

문제https://www.acmicpc.net/problem/2559 접근 방법연속적인 K일의 온도의 합이 최대가 되는 값을 출력하는 문제이다.따라서 브루트포스로 풀 경우, 연속하는 수열을 계속해서 더해주어야 한다.  따라서 브루트포스로 풀어도 되지만 누적합을 구해서 점과 점의 관계로 푸는 방법을 택했다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st..

article thumbnail
[Java] 백준 11659번 : 구간 합 구하기 4
코딩테스트/백준 2024. 5. 30. 13:24

문제https://www.acmicpc.net/problem/11659접근 방법구간 합을 구하는 문제는 브루트포스로 풀 수 있지만 이럴경우 구간마다 계속 더하는 걸 반복해야한다.따라서 구간합을 점과 점의 관계로 나타낼 수 있는 누적합배열을 만들어 풀어준다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; ..

article thumbnail
[Java] 백준 20366번 : 같이 눈사람 만들래?
코딩테스트/백준 2024. 5. 28. 21:13

문제https://www.acmicpc.net/problem/20366 접근 방법브루트포스로 푸는 방법을 먼저 생각했다.하지만 600^4 이므로 시간초과가 발생한다. 따라서 반복문을 하나 줄일 수 있는 방법인 투포인터를 생각했다.(600^3)코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; private..

article thumbnail
[Java] 백준 23032번 : 서프라이즈~
코딩테스트/백준 2024. 5. 28. 20:47

문제https://www.acmicpc.net/problem/23032 접근 방법브루트포스로 문제를 풀 게 된다면 시간초과가 발생할 것이다.따라서 누적합과 투포인터를 섞어서 문제를 풀었다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static BufferedReader br; private static StringBuilder sb; private static StringTokenizer st; private static int N; private static int[]arr; private ..

article thumbnail
[Java] 백준 15961번 : 회전 초밥
코딩테스트/백준 2024. 5. 28. 19:32

문제https://www.acmicpc.net/problem/15961 접근 방법초밥 접시의 수가 3,000,000개이고 종류가 최대 3000개라서 슬라이드에 대해 for문을 돌면 시간초과가 발생한다.따라서 포인터를 이용한 슬라이딩 윈도우를 사용하였다. 또한 카운트 배열을 만들어 같은 숫자가 1개일때만 count값이 올라가도록 하였다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader..

article thumbnail
[Java] 백준 22945번 : 팀 빌딩
코딩테스트/백준 2024. 5. 27. 22:24

문제https://www.acmicpc.net/problem/22945 접근 방법시작점과 끝 지점에 s , e 포인터를 두고 능력치가 누가 더 작은지 확인한다.(곱하는 값이 최대)arr[s]가 더 작다면 e를 줄여봤자 min값은 arr[s] 가 될 것이다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; private static int N; ..