99클럽 코테 스터디 35일차 TIL (미들러): [백준][Java] 주사위 윷놀이 - 골드2
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/17825  풀이좀 무식한 방법을 사용해서 윷놀이 판을 만들었다.칸에 인덱스를 부여하고 { { 0, 1, -1 }, { 2, 2, -1 }, { 4, 3, -1 }, { 6, 4, -1 }, { 8, 5, -1 }, { 10, 6, 22 }, { 12, 7, -1 }, { 14, 8, -1 }, { 16, 9, -1 }, { 18, 10, -1 }, { 20, 11, 29 }, { 22, 12, -1 }, { 24, 13, -1 }, { 26, 14, -1 }, { 28, 15, -1 }, { 30, 16, 26 }, { 32, 17, -1 }, { 34, 18, -1 }, { 36, 19, -1 }, { 38, 20, -1 }, { 40..
99클럽 코테 스터디 34일차 TIL (챌린저): [백준][Java] LCS 3 - 골드5
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/1958  풀이https://mountain-noroo.tistory.com/30 [백준][C#] 9251 LCS - 골드5문제 보기 https://www.acmicpc.net/problem/9251 9251번: LCS LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를mountain-noroo.tistory.com 예전에 LCS 문제를 푼 적이 있다.이번엔 그 3차원 배열 버전이다. 문제를 푸는 방법은 동일하기 때문에 위 포스팅을 보고 오면 될 것 같다.  전체 코드import java.io.BufferedRe..
99클럽 코테 스터디 32일차 TIL (미들러): [백준][Java] 11054 가장 긴 바이토닉 부분 수열 - 골드4
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/11054  풀이증가하는 가장 긴 수열과 감소하는 가장 긴 수열의 합체 버전이라 생각했다.0번부터 N-1까지 DP를 돌리며 해당 인덱스를 마지막으로 하는 가장 긴 증가 수열을 찾아내고,N-1번부터 0번까지 DP를 돌리며 해당 인덱스를 처음으로 하는 가장 긴 감소 수열을 찾아냈다. 그리고 0부터 N-1까지 순회를 돌리며 증가 수열 DP + 감소 수열 DP - 1(자기 자신이 중복되기 때문)을 한다.현재 인덱스를 반환 점으로 생각하는 것이다.그러면 가장 긴 바이토닉 부분 수열을 찾아낼 수 있게 된다!  전체 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io..
99클럽 코테 스터디 31일차 TIL (미들러): [백준][Java] 2631 줄세우기 - 골드4
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/2631  풀이어제와 동일한 제일 긴 부분 수열 찾기 이다.그런데 문제로부터 이 방법을 생각해 내는 게 쉽지 않았다.이미 완성되어 있는 수열은 그대로 두고 잘못 된 자리에 가 있는 애들을 옮겨준다고 생각해보자!  전체 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;public class Main { public static void main(String[] args) throws IOException { ..
99클럽 코테 스터디 30일차 TIL (미들러): [백준][Java] 1965 상자넣기 - 실버2
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/1965  풀이https://mountain-noroo.tistory.com/254 99클럽 코테 스터디 28일차 TIL (미들러): [백준][Java] 11055 가장 큰 증가하는 부분 수열 - 실버2문제 보기https://www.acmicpc.net/problem/11055  풀이이전에 풀었던 가장 긴 증가하는 부분 수열과 로직이 거의 동일해서 쉽게 풀었다. int[] dp = new int[N];int max = 0;for (int i = 0; i 0부터 N-1까지 i번째 수가mountain-noroo.tistory.com위 문제와 거의 동일한 문제이다.이번엔 제일 "큰" 증가하는 부분 수열이 아니라 제일 "긴" 증가하는 부분 수열이..
99클럽 코테 스터디 29일차 TIL (챌린저): [백준][Java] 11657 타임머신 - 골드4
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/11657  풀이https://mountain-noroo.tistory.com/221 99클럽 코테 스터디 4일차 TIL (챌린저): [백준][Java] 1865 웜홀 - 골드3문제 보기https://www.acmicpc.net/problem/1865  풀이나는 벨만 포드 알고리즘이라는 걸 처음 들어봤다.코테스터디 톡방을 보니 나만 그런 건 아닌 것 같다. 그래서 문제를 푸는 것 보다 알고리즘 이해mountain-noroo.tistory.com 음수, 최단거리 이 키워드를 보고 아 이거 벨만 포드구나 생각이 났다.벨만 포드에 대해서는 위 링크에서 설명한 적이 있으니 보고 오면 좋을 듯하다. 1번 노드로부터의 최단거리를 전부 구하고 음수로 ..
99클럽 코테 스터디 28일차 TIL (미들러): [백준][Java] 11055 가장 큰 증가하는 부분 수열 - 실버2
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/11055  풀이이전에 풀었던 가장 긴 증가하는 부분 수열과 로직이 거의 동일해서 쉽게 풀었다. int[] dp = new int[N];int max = 0;for (int i = 0; i 0부터 N-1까지 i번째 수가 마지막인 부분수열 중 제일 합이 큰 수열을 dp에 넣는다.이는 0부터 i-1까지의 dp를 탐색해 이루어진다.i보다 작은 수가 마지막인 수열 중 최댓값을 구하는 것이다.물론 이 수열들도 이 로직을 거쳤기 때문에 항상 최댓값을 가지게 된다.  전체 코드import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java...
99클럽 코테 스터디 27일차 TIL (챌린저): [백준][Java] 1446 지름길 - 실버1
·
ProblemSolve/항해99 코테스터디
문제 보기https://www.acmicpc.net/problem/1446  풀이DP를 사용해 문제를 풀었다.지름길과, 이전 칸에서 +1을 하는 것 중 무엇이 빠른지를 계속 비교하였다. for(int i = 1; i 핵심 코드는 위와 같다.list[]은 i까지 도착하기 위한 출발 지점, 걸리는 시간을 담고 있다.  전체 코드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.Arrays;import j..