백준 489

[Baekjoon] 11265_끝나지 않는 파티

Gold V문제(출처: https://www.acmicpc.net/problem/11265) 문제 풀이  플로이드 워셜 알고리즘을 사용해서 문제를 해결했다.   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.StringTokenizer;public class _11265_ { // 끝나지 않는 파티 public static void main(String[] args) throws IOException { Buffer..

[Baekjoon] 5972_택배 배송

Gold V문제(출처: https://www.acmicpc.net/problem/5972) 문제 풀이  다익스트라 알고리즘을 사용해서 최소 여물 수를 구한다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Comparator;import java.util.PriorityQueue;import java.util.StringTokenizer;public class _5972_ { // 택배 배송 public static void main(String[] args) throws IOE..

[Baekjoon] 2660_회장뽑기

Gold V문제(출처: https://www.acmicpc.net/problem/2660) 문제 풀이  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.StringTokenizer;public class _2660_..

[Baekjoon] 1092_배

Gold V문제(출처: https://www.acmicpc.net/problem/1092) 문제 풀이  크레인의 무게와 박스의 무게를 각각 내림차순으로 정렬한 후에 박스를 배로 옮긴다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;import java.util.StringTokenizer;public class _1092_ { // 배 public static void main(String[] args) throw..

[Baekjoon] 17609_회문

Gold V문제(출처: https://www.acmicpc.net/problem/17609) 문제 풀이  문자열의 맨 처음과 끝을 시작으로 중간까지 보면서 회문인지 확인한다.  * 왼쪽 문자를 제거했을 때, 오른쪽 문자를 제거했을 때 둘 다 회문일 가능성이 있다면 두 가지 경우 다 확인해야 한다.   my solution (Java)import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class _17609_ { // 회문 static String str; static bo..

[Baekjoon] 13398_연속합 2

Gold V문제(출처: https://www.acmicpc.net/problem/13398) 문제 풀이  처음에는 수열 값 중에서 음수 중 가장 작은 값을 제거하는 방법으로 구현했다. 하지만 이렇게 구현할 경우 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구할 수 없다.  그래서 두 번째 방법으로는 모든 수를 한 번씩 제거하는 경우로 배열을 n x n 크기로 만들어서 구현했다. 하지만 이 경우에는 n의 범위가 1 이상 100000 이하이므로 메모리 초과가 발생했다. 마지막으로 구현한 방법은 배열을 2 x n 크기로 만들어 0번째 행은 수를 제거하지 않은 경우, 1번째 행은 수를 하나 제거한 경우로 구현했다.  my solution (Java)import java.io.Buffered..

[Baekjoon] 5582_공통 부분 문자열

Gold V문제(출처: https://www.acmicpc.net/problem/5582) 문제 풀이  배열 2개를 사용해서 공통부분 문자열을 구한다. 만약 abcd와 bacd라면 아래와 같이 만들어지도록 구현한다. abcdb0100a1000c0010d0002   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class _5582_ { // 공통 부분 문자열 public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new Inp..

[Baekjoon] 20529_가장 가까운 세 사람의 심리적 거리

Silver I문제(출처: https://www.acmicpc.net/problem/20529) 문제 풀이  조합을 사용하여 3명의 학생의 MBTI 성격 유형을 뽑아 가장 가까운 세 사람의 심리적 거리를 구한다. 조합으로만 문제를 구현할 경우 시간초과가 발생한다. 시간을 줄일 방법을 몰라 찾아보니 비둘기집 원리를 사용하는 것이었다. 비둘기집 원리를 사용하면 MBTI가 총 16개 이므로 만약 사람 수가 32명이라면 똑같은 MBTI가 2명씩 있을 수 있으며 사람 수가 32명보다 많다면 똑같은 MBTI가 무조건 3명이 있게 된다. 그럼 가장 가까운 세 사람의 심리적 거리가 0이 되므로 사람 수가 32보다 크다면 조합을 구할 필요가 없다.   my solution (Java)import java.io.Buffe..

[Baekjoon] 16198_에너지 모으기

Silver I문제(출처: https://www.acmicpc.net/problem/16198) 문제 풀이  에너지를 구할 수 있는 모든 경우를 다 구하여 에너지의 최댓값을 구한다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class _16198_ { // 에너지 모으기 static int arr[], result; static boolean visited[]; public static void main(String[] args) throws IOException { Buffer..

[Baekjoon] 1189_컴백홈

Silver I문제(출처: https://www.acmicpc.net/problem/1189) 문제 풀이  dfs를 활용하여 거리가 k인 가짓수를 구한다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class _1189_ { // 컴백홈 static int result, k; static boolean visited[][]; static int dx[] = { -1, 1, 0, 0 }; static int dy[] = { 0, 0, -1, 1 }; public static void ..