🌞Algorithm/🔥Baekjoon 496

[Baekjoon] 3425_고스택

Gold IV문제(출처: https://www.acmicpc.net/problem/3425) 문제 풀이 & 생각 stack을 사용해서 문제를 해결하며 예외 조건을 잘 구현해야 한다. 예외 조건1) POP, INV, DUP 일 때 stack이 비어있으면 ERROR이다.2) SWP 일 때 stack의 크기가 2보다 작으면 ERROR이다.3) ADD, SUB, MUL, DIV, MOD 일 때 stack의 크기가 2보다 작으면 ERROR이다.4) 각 연산이 1000000000보다 크면 ERROR이다.5) DIV와 MOD 일 때 0으로 나누는 경우는 ERROR이다.6) 최종 stack의 크기가 1이 아니면 ERROR이다.   my solution (Java)import java.io.BufferedReader;i..

[Baekjoon] 14267_회사 문화 1

Gold IV문제(출처: https://www.acmicpc.net/problem/14267) 문제 풀이 & 생각 직속 상사의 번호를 입력받으므로 이 정보를 이용해서 각 직원의 직속 부하를 저장해 둔다. 처음에는 직속 부하 정보를 저장해 둔 것을 이용해서 답을 구했지만 시간 초과가 발생했다.그 이유는 칭찬을 받을 때마다 dfs 함수를 호출해서 시간 초과가 발생했던 것이다.이것을 해결하기 위해 칭찬을 다 저장한 후 dfs 함수를 한 번 호출하여 구했더니 통과할 수 있었다.  시간초과 코드(Java)더보기import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamRe..

[Baekjoon] 16562_친구비

Gold IV문제(출처: https://www.acmicpc.net/problem/16562) 문제 풀이 & 생각 bfs 탐색을 통해 친구의 친구 중에서 최소 비용을 구한다.  my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashSet;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class _16562_ { // 친구비 static int f[], money; st..

[Baekjoon] 1043_거짓말

Gold IV문제(출처: https://www.acmicpc.net/problem/1043) 문제 풀이 & 생각 파티 정보를 입력받으면서 파티 정보를 저장하며, 파티에 오는 사람들을 인접 리스트로 저장한다.그 후에 진실을 아는 사람을 기준으로 bfs 탐색을 통해 진실을 듣는 사람들을 판별한다. 인접리스트에는 만약 파티에 1 2 3이 온다면 (1,2) (1,3) (2,3)을 각각 저장한다.  my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.LinkedList;import java.uti..

[Baekjoon] 12893_적의 적

Gold IV문제(출처: https://www.acmicpc.net/problem/12893) 문제 풀이 & 생각 bfs를 사용해서 우호 관계와 적대 관계를 구분한다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class _12893_ { // 적의 적 static ArrayList> arr; static boolean team[], visite..

[Baekjoon] 7662_이중 우선순위 큐

Gold IV문제(출처: https://www.acmicpc.net/problem/7662) 문제 풀이 & 생각 처음에는 최댓값과 최솟값을 관리하기 위해 우선순위 큐를 2개 선언해서 오름차순, 내림차순 순으로 정렬해서 사용했다. 시간제한도 6초라서 통과할 줄 알았지만 시간초과에 막혀버렸다. 몇 번이나 시도해도 해결할 수 없어 다른 방법을 찾다가 JAVA에 TreeMap이 있는 것을 알게 되었다.TreeMap에 대해 공부하며 정리한 내용이다.https://melody-coding.tistory.com/317 [자료구조] TreeMap❓ TreeMap 이란?이진트리를 기반으로 한 Map 컬렉션객체 저장 시 자동 정렬(default : 오름차순)   ❓TreeMap 선언TreeMap map=new TreeMa..

[Baekjoon] 19538_루머

Gold IV문제(출처: https://www.acmicpc.net/problem/19538) 문제 풀이 bfs를 통해 주변 사람을 탐색하며 자신이 루머를 믿기 시작했을 때 자신의 이웃들에게 루머를 믿는다는 것을 알려준다.  my solution (Java)import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.Strin..

[Baekjoon] 13265_색칠하기

Gold V문제(출처: https://www.acmicpc.net/problem/13265) 문제 풀이 bfs를 활용하면서 전 동그라미와 다른 색을 칠할 수 있는지 없는지를 판별한다.    my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class _13265_ { // 색칠하기 static ArrayList> arr; static int check[];..

[Baekjoon] 11060_점프 점프

Silver II문제(출처: https://www.acmicpc.net/problem/11060) 문제 풀이 bfs를 활용하며 가장 오른쪽 끝 칸으로 가기 위해 최소 몇 번 점프를 해야 하는지를 구한다.    my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;import java.util.StringTokenizer;public class _11060_ { // 점프 점프 static int arr[], visited[], n; public static void main(S..

[Baekjoon] 26169_세 번 이내에 사과를 먹자

Silver III문제(출처: https://www.acmicpc.net/problem/26169) 문제 풀이 dfs로 탐색하면서 세 번의 이동을 했을 때 사과를 2개 이상 먹을 수 있으면 종료한다.    my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class _26169_ { // 세 번 이내에 사과를 먹자 static int arr[][]; static boolean result, visited[][]; static int dx[] = { -1, 1, 0, 0 }; static int..