728x90 dp4 [백준] 9095 1, 2, 3 더하기 자바(Java) https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 문제 : n을 1, 2, 3의 합으로 나타내는 방법의 수 접근. countSum( 1 ) = 1 countSum( 2 ) = 2 countSum( 3 ) = 4 countSum( 4 ) = 7 countSum( 5 ) = 13 ... n = 5까지 단순하게 숫자를 세본 결과 규칙을 찾을 수 있었다. countSum( n ) = countSum( n - 1) + countSum( n - 2) + countSum( n - 3) 증명. n = 4일 때 맨 마지막 더하기 값에는 3가지 값이 들어갈 수 .. 2023. 1. 1. [백준] 11727 2xn 타일링 2 자바(Java) https://www.acmicpc.net/problem/11727 11727번: 2×n 타일링 2 2×n 직사각형을 1×2, 2×1과 2×2 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×17 직사각형을 채운 한가지 예이다. www.acmicpc.net 11726 문제를 이해하고 풀었다면 쉽게 풀리는 문제이다. 아래 블로그 참고 https://iyk2h.tistory.com/306 기존 문제에서 2 * 2 정사각형 타일이 추가되었다. 위 그림과 같이 직사각형을 채워나갈 수 있게 된다. n의 값이 3, 4일 때부터 규칙이 보이기 시작한다. n = 3 일 때 색으로 구별해 두었는데, 빨간색은 박스는 n = 2 일 때 타일을 채우는 방법에 2 * 1 세로 타일을 추가했고, 오른쪽 .. 2023. 1. 1. [백준] 11726 2xn 타일링 자바(Java) https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제를 풀어보고 오면 좋겠습니다. 문제는 2*n 크기의 직사각형을 2 * 1 타일로 채우는 방법의 수를 구하는 문제이다. 위 그림과 같이 직사각형을 채워나갈 수 있게 된다. n의 값이 3, 4일 때부터 규칙이 보이기 시작한다. n = 3 일 때 두 개의 박스로 크게 묶어두었다. 묶은 이유는 왼쪽 박스는 n = 2 일 때 타일을 채우는 방법에 2 * 1 세로 타일을 추가했고, 오른쪽 박스는 n = 1 일 때 직사각형을 .. 2023. 1. 1. [백준] 1463 1로 만들기 자바(Java) https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 접근 방법 단순하게 접근하면 3으로 나누고, 2로 나누고, 나눌 수 없으면 -1을 하면서 값을 작게 만들면 되지 않나 생각할 수 있다. 단순 접근 : 10 -> 5 -> 4-> 2-> 1 : 4번 정답 : 10 -> 9 -> 3-> 1 : 3번 쉽게 단순 접근은 틀린 걸 알 수 있다. 이유는 10을 1로 만드는 경우에 2가지 경우의 수가 생기게 된다. 1. 9를 1로 만드는 최솟값 + 1 2. 5를 1로 만드는 최솟값 + 1 두 값 중 더 작은 값이 최솟값이 된다. 그럼 문제에서 나온 3가지 경우를 보면 최솟값.. 2022. 12. 30. 이전 1 다음 728x90