본문 바로가기

Python45

[알고리즘][백준] 11722번 가장 긴 감소하는 부분 수열 - 파이썬(python) 풀이 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 11053번 가장 긴 증가하는 부분 수열의 응용문제! 달라진 것은 증가 -> 감소 이 부분이라 if문에서 num[i] > num[j]인 것을 num[i] 2024. 4. 2.
[알고리즘][백준] 11055번 가장 큰 증가하는 부분 수열 - 파이썬(python) 풀이 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가하는 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 www.acmicpc.net 11053번 가장 긴 증가하는 부분 수열의 응용문제이다. 나는 바로 합계를 구하면 뭔가 꼬여서 답이 안나올줄 알고 일부러 dp를 2차원으로 숫자 [순서, 합]으로 2차원으로 만들었는데 꼭 그럴필요는 없다는 점... import sys n = int(sys.stdin.readline()) num = list(map(int, sys.stdi.. 2024. 3. 30.
[알고리즘][백준] 1932번 정수 삼각형 - 파이썬(python) 풀이 https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net dp로 가장 유명한 문제가 아닌가 싶다! 처음 dp의 개념을 알기 위해 유튜브를 봤을때, 이 문제를 예시로 설명하는 영상을 봐서 문제를 보자마자 그 문제다! 이랬다 나의 아이디어는 가장자리는 그대로 내려와 더해지지만, num[i][0] = num[i-1][0] + num[i][0] num[i][-1] += num[i-1][-1] + num[i][-1] 중간에 있는 수는 두 가지 경우가 생겨 max로 더 큰 값만 저장해주어야 한다 num[i][j] = max(num[i-.. 2024. 3. 25.
[알고리즘][백준] 2156번 포도주 시식 - 파이썬(python) 풀이 https://www.acmicpc.net/problem/2156 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net 현재의 단계 기준으로 선택할 수 있는 것이 세가지가 있다 1. 현재 + 전 = i-3까지의 값 + 그 전의 포도주 + 지금의 포도주 2. 현재 = i-2까지의 값 + 지금의 포도주 3. 현재X = i-1까지의 값 import sys n = int(sys.stdin.readline()) # 인덱스 편하게 하기 위해 wine에 0 삽입 & dp에 n+1 wine = [0] dp = [0] * (n+1).. 2024. 3. 22.