실버 3 4

백준 1004번 : 어린 왕자 자바

🧫 문제 분석 ✔️ 출처어린 왕자 실버 3 📖 문제 두 점 사이의 거리 공식을 이용하면 쉽게 풀리는 문제이다. 행성 경계의 좌표와 시작, 끝 지점의 좌표사이의 거리를 구하고그 거리가 행성 경계의 반지름 보다 짧다면 이는 그 행성 안에 시작점이나 끝 지점이 있다는 뜻이고이는 1번 진입/이탈을 해야한다는 의미이다.  중요한 점은 시작 점과 끝점 둘 다 한 행성 안에 있을 수 있다. 이때는 진입/이탈이 없다.따라서 시작 점이 행성 경계 안에 있는 경우 와 끝점이 행성 경계 안에 있는 경우만 따지면 된다.🔅 문제 풀이import java.io.*;import java.util.*;public class Main { static class Planet { int x,y, r; ..

baekjoon 2024.08.27

백준 9461번 : 파도반 수열 자바

🧫 문제 분석 ✔️ 출처파도반 수열 실버 3 📖 문제  DP문제다. 중복 연산이 포함되어있다.  12번째는 12 + 4 로 번호를 매겨보면 11번째 + 7번째 를 더한 것이다.  그런데 4또한 3 + 1이며 번호를 매겨보면6번째 + 2번째 를 더한 것이다.   이를 점화식으로 보면dp[n] = dp[n-1] + dp[n-5]  이렇게 볼 수 있다.  이전값 + dp[n-5] 가 아닌 이유는 이전 값 또한 어떠한 숫자들의 덧셈 결과일 수 있기 때문이다.   🔅 문제 풀이import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new ..

baekjoon/DP 2024.08.24

백준 2193번 : 이진수 자바

🧫 문제 분석✔️ 출처이진수 실버 3 📖 문제  내가 이해한 바로는    이런느낌이다.3번째를 만들어준 2번째의 수의 경우와 2번째를 만들어준 1첫째 수의 경우의 합이라는 느낌이다.  🔅 문제 풀이import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;public class Main { public static long[] dp; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

baekjoon/DP 2024.07.10

백준 9095번 : 1, 2, 3 더하기 자바

🧫 문제 분석✔️ 출처1, 2, 3 더하기 실버 3 📖 문제  DP(동적계획법) 문제이다. 우선 1 과 2 그리고 3을 구하는 경우의 수를 봐보자 1 1 21 + 1231 + 1 + 12 + 11 + 23 문제에서 예시로 4를 구하는 방법이 나와있다. 4를 구하는 방법은 크게 보면1 + 3 2 + 23 + 1 이 세가지 경우라고 볼 수 있다. 우리는 1, 2, 3을 통해서 방법의 수를 구하기에 1을 고정해놓고 3을 구하는 경우의 수2를 고정해놓고 2를 구하는 경우의 수3을 고정해놓고 1을 구하는 경우의 수이 세가지의 합이 4를 구하는 경우의 수라고 볼 수 있다. 표로 보자면 이렇게 볼 수 있다.고정경우의 수1 + 1 + 1 + 11 + 22 + 132 + 1 + 123 + 1  🔅 문제 풀이impo..

baekjoon/DP 2024.07.06