profile
일단 하자.
post-thumbnail

[Baekjoon/Python] 12865. 평범한 배낭 (DP, 0/1 Knapsack) 🥇5️⃣

행 ($i$): $i$번째 물건까지 고려했을 때열 ($w$): 배낭의 현재 용량이 $w$일 때값 $DPi$: $i$번째 물건까지 고려하고 배낭 용량이 $w$일 때 가질 수 있는 최대 가치💎 루비를 선택하는 경우(dp\[루비])💎 다이아를 선택하는 경우(dp\[다이아

5일 전
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 11055. 가장 큰 증가하는 부분 수열 (DP, LIS) 🥈2️⃣

이전에 풀었던 문제 : 이 문제는 증가하는 부분 수열 중에서 ‘합이 가장 큰 경우’를 찾는 DP 문제이다. LIS(가장 긴 증가 부분 수열)와 비슷하지만, 길이가 아닌 “부분 수열 값들의 총합”을 기준으로 한다는 점이 핵심이다. 🧩 문제 수열이 주어졌을 때,

2025년 11월 28일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 11053. 가장 긴 증가하는 부분 수열 (DP, LIS) 🥈2️⃣

길이가 N인 수열이 주어진다.“증가하는 부분 수열(increasing subsequence)” 중가장 길이가 긴 것의 길이를 구하는 문제.부분 수열이기 때문에 연속일 필요는 없다.└ 다만 순서는 유지해야 함.처음엔 “수열을 앞에서부터 보면서, 각 위치에서 끝나는 LIS

2025년 11월 27일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 1912. 연속합 (DP, 부분합, 카데인 알고리즘) 🥈2️⃣

길이 N인 수열이 주어진다.연속된 몇 개의 수를 선택해서 만들 수 있는 합 중 최대값을 구하는 문제.수는 양수, 음수 모두 나올 수 있다.“수열에서 연속된 구간 하나를 골랐을 때, 그 합이 최대가 되는 값을 구하라”처음 내가 세운 전략은 이랬다.“음수는 구간 합을 감소

2025년 11월 26일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 1149. RGB거리 (DP)

각 집은 빨강(R), 초록(G), 파랑(B) 중 하나로 칠할 수 있고,연속된 집은 같은 색을 칠할 수 없다.모든 집을 칠하는 데 드는 최소 비용을 구하는 문제.조건1번 집의 색은 2번 집의 색과 같지 않아야 한다.N번 집의 색은 N-1번 집의 색과 같지 않아야 한다.i

2025년 11월 21일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 1932. 정수 삼각형 (DP)

https://www.acmicpc.net/problem/1932입력으로 주어지는 삼각형은 아래와 같다.이걸 2차원 리스트로 저장해 두자.예: tri\[i]\[j] = i번째 줄, j번째 숫자(인덱스는 0부터로 할지, 1부터로 할지는 너가 편한 대로!)단순히

2025년 11월 20일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 11726. 2xn 타일링 (DP)

2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 문제(단, 방법의 수를 10007로 나눈 나머지를 출력한다)입력으로 주어지는 n은 최대 1000까지 가능하다.즉, 단순 재귀로 풀면 시간 초과가 나기 때문에 DP(동적 계획법) 으로 접근해야 한

2025년 11월 10일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 9461. 파도반 수열 (DP)

이 문제는 언뜻 보면 복잡한 나선 모양 때문에 어려워 보이지만, 숨겨진 규칙(점화식)만 찾아내면 Dynamic Programming(DP)을 활용해 간단하게 풀 수 있었다.문제에서 제시된 수열 $P(N)$의 초기 값들을 나열해 봅시다.이 수열의 값을 자세히 관찰하여 현

2025년 11월 7일
·
0개의 댓글
·
post-thumbnail

SOLID : 좋은 객체 지향 설계의 5가지 원칙

Single Responsibility Principle한 클래스는 하나의 책임만 가진다.한 파일에 view, DB접근, 쿼리까지 모두 들어가있으면 유지보수가 어렵고 코드도 복잡해진다.Open / Closed Principle확장에는 열려있고, 변경에는 닫혀있어야 한다

2025년 11월 6일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 2579. 계단 오르기 (DP) | 풀이과정

업로드중..계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다.연속된 세 개의 계단을 모두 밟아서는 안 된다. (단, 시작점은 계단에 포함되지 않는다.)마지막 계단은 반드시 밟아야 한다.처음에 생각해낸 점화식은 다음과 같다.이 경우, 연속으로 3개를 밟았는지 여부

2025년 11월 6일
·
0개의 댓글
·
post-thumbnail

[백준/Python] 9095. 1, 2, 3 더하기 (DP)

정수 n이 주어졌을 때,1, 2, 3의 합으로 나타내는 방법의 수를 구하는 문제이다.단, 덧셈 순서가 다르면 다른 경우로 센다.예를 들어,4를 만드는 방법은 다음 7가지이다.이 문제는 동적 계획법(DP)으로 해결할 수 있다.n을 만들 수 있는 경우의 수를 dp\[n]이

2025년 11월 4일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 1463. 1로 만들기 (DP)

정수 X가 주어졌을 때, 다음 세 가지 연산을 적절히 사용하여 1을 만드는 연산 횟수의 최솟값을 구하는 문제이다.3으로 나누기: X가 3으로 나누어 떨어질 때 (X → X / 3)2로 나누기: X가 2로 나누어 떨어질 때 (X → X / 2)1 빼기: (X → X -

2025년 11월 3일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 11723. 집합

https://www.acmicpc.net/problem/11723정수 1부터 20까지의 숫자로 이루어진 집합 S에 대해 아래 연산을 수행하는 프로그램을 작성하는 문제입니다.remove()는 해당 원소가 집합에 없을 때 에러(KeyError) 를 발생시킵니다.

2025년 10월 27일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 10799. 쇠막대기

https://www.acmicpc.net/problem/10799괄호로 표현된 쇠막대기와 레이저가 주어진다.(는 쇠막대기 시작)는 쇠막대기 끝단, ()는 레이저로 간주레이저가 쇠막대기를 자르면 그 개수만큼 조각이 생긴다.laser 리스트에 모든 레이저의 위치

2025년 6월 30일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 5430. AC

https://www.acmicpc.net/problem/5430문자열로 주어지는 명령어 p를 배열에 적용하는 문제이다.명령어는 다음과 같다:R: 배열을 뒤집는다.D: 배열의 첫 번째 원소를 버린다. (배열이 비어 있으면 "error" 출력)입력으로는 여러 테

2025년 6월 19일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 1021. 회전하는 큐

문제 링크 🔗양방향으로 회전이 가능한 큐가 주어진다.처음에는 1부터 N까지의 숫자가 순서대로 들어 있으며, 우리가 꺼내야 할 숫자들이 M개 주어진다.큐에서 원하는 숫자를 꺼내는 방법은 세 가지:첫 번째 원소를 바로 뽑는다 (이 연산은 비용이 없음)왼쪽으로 한 칸 이동

2025년 6월 18일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 1874. 스택 수열

https://www.acmicpc.net/problem/1874current = 1부터 시작해, 수열의 현재 숫자보다 작거나 같을 때까지 계속 push.push할 때마다 + 저장.목표 숫자와 같아지면 pop하고 - 저장.스택의 top이 수열 숫자보다 크면 불

2025년 6월 17일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 1919. 애너그램 만들기

https://www.acmicpc.net/problem/1919두 개의 문자열이 주어졌을 때, 두 문자열을 애너그램(anagram)으로 만들기 위해 제거해야 할 문자의 총 개수를 구하는 문제입니다.예시입력:출력:두 문자열을 "bb"로 만들 수 있으므로 총 8

2025년 6월 16일
·
0개의 댓글
·
post-thumbnail

[Baekjoon/Python] 5397. 키로거 (스택/문자열 커서 이동 문제)

https://www.acmicpc.net/problem/5397키보드로 비밀번호를 입력하는데, 다음과 같은 특수 키가 존재한다:< : 커서를 왼쪽으로 한 칸 이동 (커서가 가장 앞이면 무시)\> : 커서를 오른쪽으로 한 칸 이동 (커서가 가장 뒤면 무시

2025년 6월 13일
·
0개의 댓글
·

[Python] 스택 사용법

보통 리스트(list) 를 사용해서 쉽게 구현할 수 있다.

2025년 6월 13일
·
0개의 댓글
·