기록/코테 6

[9184] 신나는 함수 실행

https://www.acmicpc.net/problem/9184문제 설명재귀 함수를 사용해 정의된 함수 w(a, b, c) 를 효율적으로 계산하는 문제를 해결한 코드이다.해당 함수는 다음과 같은 규칙을 따른다.기저 조건:만약 a, b, c 중 하나라도 0 이하이면, w(a, b, c) = 1이다.상한 조건:만약 a, b, c 중 하나라도 20보다 크면, w(a, b, c) = w(20, 20, 20)로 계산한다.특수 조건:만약 a 그리고 b 인 경우,w(a, b, c) = w(a, b, c-1) + w(a, b-1, c-1) - w(a, b-1, c)로 계산한다.일반 조건:위의 조건에 해당하지 않는 경우,w(a, b, c) = w(a-1, b, c) + w(a-1, b-1, c) + w(a-1, b,..

기록/코테 2025.02.12

[10844] 쉬운 계단수

문제 설명길이가 N인 계단 수의 개수를 구하는 문제이다. 계단 수란, 0으로 시작하지 않으며, 인접한 모든 자리의 차이가 정확히 1인 수를 의미한다. 예를 들어, N=2일 때 가능한 계단 수는 다음과 같다. 길이 2의 계단 수: 10, 12, 21, 23, 32, 34, 43, 45, 54, 56, 65, 67, 76, 78, 87, 89, 98 총 개수는 17개이다. 🔹 문제 요구사항N이 주어졌을 때, 길이가 N인 계단 수의 개수를 10^9로 나눈 나머지를 출력해야 한다. 문제 풀이동적 계획법과 재귀를 이용해 해결해야 한다.동적 계획법(DP)과 메모이제이션의 활용DP 테이블의 정의dp[loc][val]dp[loc][val]_은 **길이가 loc이고 마지막 자릿수가 val인 계단 수의 개수_를..

기록/코테 2025.02.10

[11054] 가장 긴 바이토닉 수열

BOJ11054: 바이토닉 수열 - 가장 긴 바이토닉 부분 수열 구하기https://www.acmicpc.net/problem/11054설명1. 문제 개요입력된 수열에서 각 위치를 기준으로: 왼쪽 방향으로 증가하는 부분 수열을 계산한다. 오른쪽 방향으로 증가하는 부분 수열을 계산한다. 두 값을 합하여 가장 긴 바이토닉 부분 수열의 길이를 구한다. 2. 주요 변수와 데이터 구조 static int[] sq, dpr, dpl;sq: 원본 수열을 저장하는 배열. dpl: 각 위치에서 왼쪽 방향으로 증가하는 부분 수열의 길이를 저장하는 배열. dpr: 각 위치에서 오른쪽 방향으로 증가하는 부분 수열의 길이를 저장하는 배열. 3. 코드 동작 원리 1) 입력 처리 및 초기화: BufferedRea..

기록/코테 2025.01.24

[24511] queuestack

코드 설명1) 주요 변수와 클래스 선언:import java.io.*;import java.util.*;public class BOJ24511 { static Deque qs; static int n, m;qs: 프로그램의 핵심 데이터 구조인 Deque를 저장하는 변수다.n: 초기 데이터의 개수를 저장하는 변수다.m: 추가 작업에 사용할 데이터 개수를 저장하는 변수다.2) 메인 로직 구현:public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integer.parseInt(br.readLine(..

기록/코테 2025.01.22

[2346] 풍선 터트리기

문제 개요백준 2346번 문제, 풍선 터뜨리기는 큐(Queue)를 활용하여 풍선이 터지는 순서를 출력하는 문제다. 이 문제는 자료구조와 덱(Deque)의 활용 능력을 테스트하는 데 적합하다. 주어진 풍선 번호와 이동 값을 기반으로 풍선이 터지는 순서를 계산하는 것이 핵심이다.코드 분석public class BOJ2346 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); Deque deque = new..

기록/코테 2025.01.21
728x90
반응형