Algorithm/백준(26)
-
20115번 : 에너지드링크 [Java]
https://www.acmicpc.net/problem/20115 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net 해결 방안 배열을 입력받아 제일 큰 값을 기억하고, 그 값에 나머지 값들의 절반을 더해나간다. 전체 코드 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); double[] arr = new..
2021.05.12 -
14719번 : 빗물 [Java]
https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 해결 방안 제일 아래 줄에서부터 블록이 아니라면 양옆으로 한 칸씩 전진하며 블록으로 막힐 수 있는지 찾는다. 양 쪽에 블록이 다 있다면 그 칸을 빗물로 채운다. 다 살핀 후 빗물 양을 센다. 아쉬운 점 풀고 다른 사람들 코드를 보니 같은 느낌인데 훨씬 간단하게 푼 분이 많았다... 너무 복잡하게 생각했나... 전체 코드 import java.util.Scanner; public ..
2021.05.06 -
13023번 : ABCED [Java]
https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 해결 방안 DFS로 푼다. 문제에서 말하는 친구관계란 결국 깊이를 말한다. 깊이를 확인하며 친구관계가 존재함을 확인하면 1을 출력하고 종료한다. 전체 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.StringTokenizer; public class Main { static int N, M; stat..
2021.05.06 -
2636번 : 치즈 [Java]
https://www.acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net 해결 방법 가장자리부터 탐색을 해야 하기 때문에 (0,0)부터 BFS를 진행한다. 만약 (i, j)가 1로 치즈인 경우엔 방문 체크를 하고 치즈 수를 줄인 뒤 다음 턴엔 공기가 되도록 0으로 바꾸어준다. (i, j)가 0으로 공기인 경우 방문 체크를 해주고 사방 탐색을 진행을 위해 큐에 넣어준다. 전체 코드 import java.io.BufferedReader; import java.io.IOException; im..
2021.04.28 -
2143번 : 두 배열의 합 [Java]
https://www.acmicpc.net/problem/2143 2143번: 두 배열의 합 첫째 줄에 T(-1,000,000,000 ≤ T ≤ 1,000,000,000)가 주어진다. 다음 줄에는 n(1 ≤ n ≤ 1,000)이 주어지고, 그 다음 줄에 n개의 정수로 A[1], …, A[n]이 주어진다. 다음 줄에는 m(1≤m≤1,000)이 주어지고, 그 다 www.acmicpc.net 해결 방법 투 포인터 알고리즘을 사용한다. 전체 코드 import java.io.*; import java.util.*; public class Main { static int T; static int n, m; static int[] A, B; static List listA = new ArrayList(); stati..
2021.04.27 -
7453번 : 합이 0인 네 정수 [Java]
https://www.acmicpc.net/problem/7453 7453번: 합이 0인 네 정수 첫째 줄에 배열의 크기 n (1 ≤ n ≤ 4000)이 주어진다. 다음 n개 줄에는 A, B, C, D에 포함되는 정수가 공백으로 구분되어져서 주어진다. 배열에 들어있는 정수의 절댓값은 최대 228이다. www.acmicpc.net 해결 방법 완탐으로 돌면 N이 4000이라 시간 초과가 난다. 배열 4개를 다 사용하는 것이 아니라 배열을 두 개씩 합쳐 사용한다. 그 후 투 포인터를 사용해 답을 구한다. 전체 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util...
2021.04.27