본문 바로가기
728x90

알고리즘15

[200319/D-6] 백준 알고리즘 공부 푼 문제 : 9095 전체 비율 : / 155 (약 %) 공부 시간 : 약 2시간 9095 package algorithm; import java.io.IOException; import java.util.Scanner; public class Main{ public static int[] dp; public static int cal(int n) { if(n == 0 || n == 1) { dp[n] = 1; return 1; } if(n == 2) { dp[n] = 2; return 2; } if(dp[n] > 0) { return dp[n]; } dp[n] = cal(n-3) + cal(n-2) + cal(n-1); return dp[n]; } public static void main(String.. 2020. 3. 20.
[200318/D-5] 백준 알고리즘 공부 푼 문제 : 11726, 11727, 9095 전체 비율 : / 155 (약 %) 공부 시간 : 11726 Bottom-up import java.io.IOException; import java.util.Scanner; public class Main{ public static void main(String[] args) throws IOException { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int dp[] = new int[n+1]; dp[0] = 1; dp[1] = 1; for(int i = 2; i 0) { return dp[n]; } dp[n] = cal(n-3) + cal(n-2) + cal(n-1); return dp[n.. 2020. 3. 18.
[200316/D-4] 백준 알고리즘 공부 푼 문제 : 1463 전체 비율 : / 155 (약 %) 공부 시간 : 어떤 방식으로 풀어야되는지 아애 감이 안왔다. 생각 끝에 일단 이 부분은 몇 개 힌트를 찾아서 풀어보면서 내 방식을 찾기로 했다. 다이나믹 프로그래밍 (DP) : 하나의 문제는 단 한 번만 풀도록 하는 알고리즘. 비효율적인 알고리즘 개선. 다이나믹 프로그래밍을 하는 방식은 1. Top-Down 2. Bottom-up 이렇게 두 가지 존재한다. 1. Top-up : 재귀 함수 이용 2. Bottom-up : 반복문 이용 공통적으로는 계산의 중복을 줄이기 위해서 배열을 생성해서 계산 결과를 저장해놓고 사용한다. 작은 문제들 >> 큰 문제로 해결하는 방식. 1463 1로 만들기 Bottom-up (Git) import java.util.S.. 2020. 3. 16.
[200313/D-3] 백준 알고리즘 공부 푼 문제 : 8393, 10818, 2438, 2439, 2440, 2441, 2442, 2445, 2522, 2446, 10991, 10992 전체 비율 : 25 / 155 (약 16%) 공부 시간 : 약 2시간 이것저것 썼는데 날라갔다. git을 좀 사용하면서 익혀야 될 것 같아서 코드 관리를 이쪽에서 하기로 했다. 프로젝트 할 때 그냥 sts에서 푸쉬하는 것 말고는 내가 딱히 git을 건드릴 필요가 없어서 커밋, 푸쉬 정도만 했었는데 소스트리도 이용해 봐야 할 것 같아서 시작했다. 생각보다 세팅하는데 시간이 오래 걸려서 아이고였다. https://github.com/minchoi9509 minchoi9509 - Overview minchoi9509 has one repository available.. 2020. 3. 13.
728x90