다이나믹 8

[Java] 백준 풀기 11660 - 구간 합 구하기 5

자바 백준 11660번실버 1https://www.acmicpc.net/problem/11660     문제 보기분류: 다이나믹 프로그래밍, 누적 합     코드 풀이import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 표의 크기 N과, 합을 구할 쿼리의 수 M 입력 int N = sc.nextInt(); int M = sc.nextInt(); // N×N 크기의 표를 입력받기 위해 배열 초기화 // 1-based 인덱스를 사용하기 위해 N+1 크기의 배열로 선언 int[][] ar..

공부하기/백준 2025.02.16

[Java] 백준 풀기 10826 - 피보나치 수 4

자바 백준 10826번 실버 5 https://www.acmicpc.net/problem/10826 10826번: 피보나치 수 4 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍, 임의 정밀도, 큰 수 연산 코드 풀이 import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner sc = new Scanner..

공부하기/백준 2024.04.19

[Java] 백준 풀기 2579 - 계단 오르기

자바 백준 2579번 실버 3 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍 코드 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 계단의 개수 입력 int n = sc.nextInt(); // 계단의 점수를 저장할 배열 생성 int[] ..

공부하기/백준 2024.04.14

[Java] 백준 풀기 1793 - 타일링

자바 백준 1793번 실버 2 https://www.acmicpc.net/problem/1793 1793번: 타일링 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 정수 n이 주어진다. www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍, 임의 정밀도, 큰 수 계산 코드 풀이 import java.util.Scanner; import java.math.BigInteger; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 입력값이 있는 동안 계속 반복 while (sc.hasNext()) { // n을 입력 int..

공부하기/백준 2024.04.11

[Java] 백준 풀기 15624 - 피보나치 수 7

자바 백준 15624번 실버 4 https://www.acmicpc.net/problem/15624 15624번: 피보나치 수 7 첫째 줄에 n번째 피보나치 수를 1,000,000,007으로 나눈 나머지를 출력한다. www.acmicpc.net 문제 보기 분류: 수학, 다이나믹 프로그래밍 코드 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 사용자로부터 n 값을 입력 int n = sc.nextInt(); // getFibonacciNumber 메서드를 호출하여 n번째 피보나치 수를 계산하고 결과를 result에 저장 in..

공부하기/백준 2024.03.18

[Java] 백준 풀기 11053 - 가장 긴 증가하는 부분 수열

자바 백준 11053번 실버 2 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍 코드 풀이 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 수열 A의 크..

공부하기/백준 2024.02.13

[Java] 백준 풀기 1699 - 제곱수의 합

자바 백준 1699번 실버 2 https://www.acmicpc.net/problem/1699 1699번: 제곱수의 합 어떤 자연수 N은 그보다 작거나 같은 제곱수들의 합으로 나타낼 수 있다. 예를 들어 11=32+12+12(3개 항)이다. 이런 표현방법은 여러 가지가 될 수 있는데, 11의 경우 11=22+22+12+12+12(5개 항)도 가능하다 www.acmicpc.net 문제 보기 분류: 수학, 다이나믹 프로그래밍 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); // dp 배..

공부하기/백준 2024.01.30

[Java] 백준 풀기 11722 - 가장 긴 감소하는 부분 수열

자바 백준 11722번 실버 2 https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net 문제 보기 분류: 다이나믹 프로그래밍 코드 보기 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 입력값 받기 in..

공부하기/백준 2023.11.16