응애개발자
article thumbnail
[Java] 백준 9012번 : 괄호
코딩테스트/백준 2024. 5. 6. 20:44

문제https://www.acmicpc.net/problem/9012 접근 방법https://eungae-d.tistory.com/118 이것과 유사한 문제입니다.스택을 사용하여 '(' 이것이 나오면 스택에 넣어주고, ')' 이것이 나왔을때 스택이 비어있거나 최상단이 '(' 이것이 아닐경우 NO를 리턴해줍니다.만약 통과한다면 스택에 값이 있고, 스택최상단이 '(' 이것이므로 짝을 맞추어 스택에서 pop하여 제거해줍니다.최종적으로 스택에 남아있는게 하나도 없으면 YES, 남아있는게 있으면 ex. ( ( (   이런식으로 NO를 리턴해줍니다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Stack;import..

article thumbnail
[Java] 백준 7568번 : 덩치
코딩테스트/백준 2024. 5. 6. 20:30

문제https://www.acmicpc.net/problem/7568 접근 방법나를 기준으로 몸무게와 키 둘 다 큰 사람은 나보다 덩치가 큰 사람입니다.따라서 나를 1순위라고 가정했을때 나보다 덩치가 큰사람이 있으면 +1 씩 해주면 됩니다.만약 나보다 덩치가 큰 사람이 없으면 나는 자동으로 1 순위가 됩니다.이것을 완전 탐색으로 풀어도 N^2 ( 50*50)이기 때문에 완전탐색으로 풀어줍니다.코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static Buffe..

article thumbnail
[Java] 백준 4949번 : 균형잡힌 세상
코딩테스트/백준 2024. 5. 6. 20:08

문제https://www.acmicpc.net/problem/4949  접근 방법'(' 가 있을때는 ')' 이것이 나와야 짝을이루고 '[' 이것이 있을때는 ']' 이것이 있어야 짝을 지으며 사라집니다.따라서 스택을 이용해서 짝을 맞추어 삭제하고, 스택이 비어있거나 스택 최상단이 짝이 맞지 않으면 빠르게 리턴해 줍니다.마지막에 스택이 비워졌으면 yes를 스택에 그래도 남아있으면 (짝이 맞지 않으면) no를 리턴해줍니다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Stack;import java.util.StringTokenizer;public class Main { private static Str..

article thumbnail
[Java] 백준 4153번 : 직각삼각형
코딩테스트/백준 2024. 5. 3. 20:20

문제https://www.acmicpc.net/problem/4153 접근 방법1. 피타고라스로 풀면 되는 간단한 문제입니다. 코드package Bronze;import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class B_4153 { private static StringBuilder sb; private static BufferedReader br; private static StringTokenizer st; private static int a,b,c; private static int max = 0; //입력 public sta..

article thumbnail
[Java] 백준 2869번 : 달팽이는 올라가고 싶다
코딩테스트/백준 2024. 5. 3. 20:00

문제https://www.acmicpc.net/problem/2869 접근 방법1. 낮에 A 만큼 올라가고 밤에 B만큼 떨어져서 V까지 얼마나 걸리는지 구하는 문제입니다.2. K를 일수라고 했을때 A*K - B(K-1) >= V 가 되는게 정답입니다.3. 따라서 K >= (V-B)/(A-B) 가됩니다.4. 하지만 나누어 봤을때 남는 나머지가 있으면 아직 도달하지 못했으므로 (ex. 7/2  => 3.x일) 하루를 더해줍니다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; p..

article thumbnail
[Java] 백준 2839번 : 설탕 배달
코딩테스트/백준 2024. 5. 3. 19:35

문제https://www.acmicpc.net/problem/2839 접근 방법1. 3키로와 5키로 봉지가 있을때 최대한 적은 봉지를 쓰는 문제입니다.2. N이 주어졌을때 5키로 나누어지거나 , 3키로로 나누어지거나, dp[i-5] != 0, dp[i-3] != 0 이라면 3이나 5로 나누어지므로 dp를 만들어 풀어줬습니다. 코드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 String..

article thumbnail
[Java] 백준 2798번 : 블랙잭
코딩테스트/백준 2024. 5. 2. 17:04

문제https://www.acmicpc.net/problem/2798  접근 방법1. N개의 카드 중에서 3장을 골라서 M이랑 같거나 작되 제일 가까운 수를 만드는 문제입니다.2. 카드의 수는 최대 100개이므로 완전탐색을 돌려도 가능하다는 생각을 했습니다.(O^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..

article thumbnail
[Java] 백준 2775번 : 부녀회장이 될테야
코딩테스트/백준 2024. 5. 2. 13:23

문제https://www.acmicpc.net/problem/2775  접근 방법1. 0층 i 호 부터 i만큼 사람이 살고 있고, K층 N호에 사는 사람을 구하는 문제입니다.2. 따라서 dp로 미리 층과 호에 사람을 넣어두고 테스트케이스를 돌며 K층 N호에 사람을 출력하면 된다고 생각했습니다.  코드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..

article thumbnail
[Java] 백준 2751번 : 수 정렬하기 2
코딩테스트/백준 2024. 5. 2. 12:06

문제https://www.acmicpc.net/problem/2751 접근 방법1. 음수이기 때문에 배열에 넣을 수 없습니다. 그렇다면 리스트를 통해 값을 넣습니다.2. 리스트를 정렬하기 위해 최상위 클래스인 Collections를 이용하여 정렬해줍니다. 코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Collections;import java.util.StringTokenizer;public class Main { private static StringBuilder sb; private static BufferedReader br; priva..

article thumbnail
[Java] 백준 2609번 : 최대공약수와 최소공배수
코딩테스트/백준 2024. 5. 2. 11:51

문제https://www.acmicpc.net/problem/2609 접근 방법1. 최대공약수는 유클리드 호제법으로 구합니다.2. 최소공배수는 N * M / (최대공약수) 로 구할수 있습니다.  코드import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { private static BufferedReader br; private static StringTokenizer st; private static StringBuilder sb; private static int N,M; public static void input() thr..