분류 전체보기 696

[Baekjoon] 1058_친구

Silver II문제(출처: https://www.acmicpc.net/problem/1058) 문제 풀이  A의 2-친구를 구하기 위해서는 먼저 A와 친구인 사람을 찾는다. 그 후에 A와 친구인 사람들의 친구를 찾는다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class _1058_ { // 친구 public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); ..

[Baekjoon] 1956_운동

Gold IV문제(출처: https://www.acmicpc.net/problem/1956) 문제 풀이  먼저 a번 마을에서 b번 마을까지의 최단 거리를 찾은 후 b번 마을에서 다시 a번으로 올 수 있는지를 확인하여 최단 거리를 구한다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class _1956_ { // 운동 public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedR..

[Algorithm] 플로이드-워셜

❓ 플로이드-워셜이란?음수 사이클이 없는 그래프에서 모든 노드 간에 최단 거리를 구하는 알고리즘  ❓ 플로이드-워셜import java.io.*;import java.util.*;public class Main { // 플로이드 public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st; int n = Integer.parseInt(bf.readLine..

[Baekjoon] 1015_수열 정렬

Silver IV문제(출처: https://www.acmicpc.net/problem/1015) 문제 풀이  오름차순으로 만드는 수열 P를 구하기 위해서는 배열 A의 원소 중에서 작은 값부터 작은 값을 주면 된다. 문제 예제에서 주어진 것으로 설명해 보면 A [2,3,1]P [1,2,0] -> B [1]=2, B [2]=3, B [0]=1로 B [1,2,3]이 완성된다.  my solution (Java)import java.io.*;import java.util.*;public class _1015_ { // 수열 정렬 public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new..

[Algorithm] LCS (Longest Common Subsequence, 최장 공통 부분 수열)

❓ LCS 란?여러 개의 수열 모두의 부분 수열이 되는 수열들 중에 가장 긴 것  ❓ LCS 예를 들어 ABCDE와 ACBDE의 LCS를 찾는다고 가정해 보자 현재 위치가 (x, y)이고1) 문자가 같다면 (x-1, y-1) +1을 저장한다.2) 문자가 같지 않다면 (x-1, y)와 (x, y-1) 값 중에서 큰 값으로 저장한다. 배열의 마지막 값이 LCS의 길이가 된다.LCS를 찾기 위해서는 배열의 가장 오른쪽 아래부터 탐색을 시작한다. if) 현재 값과 위의 값이 같다면 위로 이동else if) 현재 값과 왼쪽 값이 같다면 왼쪽으로 이동else) 현재 값을 LCS값으로 저장 후 왼쪽 위 대각선으로 이동 ❓ LCS 코드public class Main { // LCS public static void m..

[Baekjoon] 20044_Project Teams

Silver IV문제(출처: https://www.acmicpc.net/problem/20044) 문제 풀이  학생의 코딩 역량을 오름차순으로 정렬한 후 역량이 작은 것과 큰 것을 더해서 팀을 만든다. 팀의 코딩 역량 중 가장 작은 값을 출력한다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class _20044_ { // Project Teams public static void main(String[] args) throws IOExce..

[Baekjoon] 2548_대표 자연수

Silver III문제(출처: https://www.acmicpc.net/problem/2548) 문제 풀이  입력받은 자연수를 오름 차순으로 정렬 후 가운데 값을 출력하면 된다.   my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Arrays;import java.util.StringTokenizer;public class _2548_ { // 대표 자연수 public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReade..

[Baekjoon] 1946_신입 사원

Silver I문제(출처: https://www.acmicpc.net/problem/1946) 문제 풀이  처음에는 입력받은 성적을 서류 심사를 기준으로 내림 차순으로 정렬했다. 그 후 면접 성적을 이중 for문을 사용해서 다른 모든 사람보다 성적이 떨어지지 않는지 확인했다. 이렇게 할 경우 시간초과가 발생한다. for문을 한 번 사용해서 문제를 해결하는 방법을 찾다가 떠오르지 않아 찾아봤다,,먼저 서류 성적을 기준으로 오름 차순으로 정렬한다. 그 후에 면접 성적을 기준으로 최솟값을 찾는 방식으로 구한다.  my solution (Java)import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import..

[Baekjoon] 3077_임진왜란

Silver III문제(출처: https://www.acmicpc.net/problem/3077) 문제 풀이  HashMap 를 사용해서 두 개의 해전을 골랐을 때 숫자를 비교하여 순서를 판단한다.  my solution (Java)import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.HashMap;import java.util.StringTokenizer;public class _3077_ { // 임진왜란 public static void main(String[] args) throws IOException { BufferedReader bf = new Buffe..

[Baekjoon] 1972_놀라운 문자열

Silver III문제(출처: https://www.acmicpc.net/problem/1972) 문제 풀이  0-쌍, 1-쌍... N-2쌍까지 각각 구한 후 유일한지 유일하지 않은지 판단한다.   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.HashSet;import java.util.Set;public class _1972_ { // 놀라운 문자열 public static void main(String[] arg..