본문 바로가기

분류 전체보기39

(JAVA) 백준온라인 9465번 - 스티커 오랜만이다. 한달만이다. ... 나름 시험 공부 한다고 글을 올리지 못한 것도 있고 나의 알고리즘 공부에 문제가 있다고 생각해서 다시 전에 풀었던 문제들을 푸느라 글을 올리지 않았다 문제를 빨리 빨리 푸는것에 집중하게 되다보니 나의 실력이 쌓이지 않는다는 생각이 들었다 그래서 다시 이전에 풀었던 문제들을 풀었다. 이번에는 새로운 문제를 접해서 포스팅을 하겠다 문제를 읽었을 때는 괜히 내용이 길어서 당황했지만 내용 이해를 하고 차분하게 입력값 넣는 코드까지 작성하고 많이 고민을 했는데 도저히 생각이 나지 않아서 구글링을 하였다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = .. 2023. 10. 27.
(JAVA) 백준온라인 1699번 - 제곱수의 합 dp배열에 n 까지의 모든 배열에 모두 1의 제곱으로 초기화 시킨다. 해당 i 안에서 j가 증가하며 기존 dp[i]와 새로 계산한 dp[i - j*j] + 1 중 최솟값을 해당 dp[i]에 저장한다 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] dp = new int[100001]; for(int i = 0; i 2023. 9. 22.
(JAVA) 1912번 - 연속합 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] ary = new int[n]; int[] dp = new int[n]; int max = 0; for (int i = 0; i < n; i++) { ary[i] = sc.nextInt(); } dp[0] = ary[0]; max = ary[0]; for(int i = 1; i 2023. 9. 21.
(JAVA) 백준온라인 10844번 - 쉬운 계단 수 문제 이해하고 정답 코드를 봐도 이해가 안되어서 애 좀 먹었다 import java.util.Scanner; public class Main { final static long mod = 1000000000; public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); long[][] dp = new long[N + 1][10]; // 첫 번째 자리수는 오른쪽 맨 끝의 자릿수이므로 경우의 수가 1개밖에 없음 for(int i = 1; i < 10; i++){ dp[1][i] = 1; } // 두 번째 이상 자릿수부터 N까지 탐색 for(int i = 2; i 2023. 9. 15.
(JAVA) 백준온라인 16194번 - 카드 구매하기 2 저번 문제와는 반대로 최소 비용을 구하는 문제이다!! 여기서는 최솟값 초기화를 해줘야한다 왜냐하면 배열을 처음 선언할 때는 0으로 초기화가 되기 때문이다! import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] p = new int[n + 1]; int[] dp = new int[n + 1]; for (int i = 1; i 2023. 9. 12.
(JAVA) 백준온라인 11052번 - 카드 구매하기 DP문제는 역시 점화식을 잘 세우는게 관건인 것 같다 근데 난 그걸 못한다.. ㅜㅠ 해보다가 잘 안되어서 결국 힌트를 얻고 코드도 보면서 풀었다. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[] p = new int[n + 1]; int[] dp = new int[n + 1]; for (int i = 1; i 2023. 9. 12.