728x90 반응형 알고리즘40 [백준/python] 2156 - 포도주 시식 문제: https://www.acmicpc.net/problem/2156 사용 알고리즘: DP n 개의 포도주를 처음부터 차례로 돌면서 먹을지 안 먹을지 결정 - i 번째 포도주를 먹지 않는다 -> dp[i-1]- i 번째 포도주를 먹는다i-1 번째 포도주를 먹는 경우 (직전 포도주를 먹는 경우) -> dp[i] = dp[i-3] + wine[i-1] + wine[i]i-2 번째 포도주를 먹는 경우 (전전 포도주를 먹는 경우) -> dp[i] = dp[i-2] + wine[i] 점화식: dp[i] = max(진전 포도주를 먹는 경우, 안먹는 경우, 전전 포도주를 먹는 경우) (i > 2) -> dp[i] = max(dp[i-3] + wine[i-1] + wine[i], dp[i-1], dp[i-2].. 2024. 5. 20. [Beakjoon/백준] 2579 파이썬 문제: https://www.acmicpc.net/problem/2579 사용 알고리즘: DP - 1번째 계단에 올라가는 법은 1가지 밖에 없음dp[1] = stairs[1] - 2번째 계단에 올라가는 법1번째 계단 -> 2번째 계단 : dp[2] = stairs[1] + stairs[2] -> 무조건 최댓값이 더 큼2번째 계단: dp[2] = stairs[2] - 3번째 계단에 올라가는 법1번째 계단 -> 3번째 계단: dp[3] = stairs[1] + stairs[3] 2번째 계단 -> 3번째 계단: dp[3] = stairs[2] + stairs[3]이 경우에는 계단에 부여된 점수에 따라 상황이 달라질 수 있음-> dp[3] = max(stairs[1] + stairs[3], stairs[2.. 2024. 5. 14. [Python/파이썬]python 입력 받기 백준 문제를 풀다보면 여러 개를 한 번에 입력받아야 하는 경우가 많은데,나는 뒤돌아서면 또 까먹기 때문에 이번 기회에 정리해 두려고 한다.. 한 개 입력받기import sys# 개행문자 포함a = sys.stdin.readline()#개행문자 미포함b = input()print(a)print(b) 변수 a 와 b 에 dobby is free 라는 문장을 입력 받고 a, b 의 순서로 출력해보면 sys.stdin.readline 에 개행문자가 포함되어 한 줄 띄워져서 출력되는 것을 볼 수 있다. import sys# 개행문자 포함a = sys.stdin.readline()#개행문자 미포함b = input()print(b)print(a) 차이를 확실하게.. 2024. 4. 12. 스택(stack), 큐(queue) 스택 (stack)데이터 값을 저장하는 기본적인 구조로 일차원의 선형 (linear) 자료구조(배열/리스트와 유사하게) 값을 저장하는 연산과 저장된 값을 꺼내는 연산이 제공됨but 매우 제한적인 규칙: LIFO (Last In First Out) -> 가장 최근에 저장된 값이 가장 먼저 나감stack 용어Top: 스택에 가장 최근에 넣은, 스택의 맨 위에 있는 데이터Push: 스택에 데이터를 넣는 행위Pop: 스택의 맨 위에 있는 데이터를 삭제하는 행위empty/full: 스택에 데이터가 꽉 찼는지, 스택에 데이터가 없는지 확인size(len): 스택에 들어있는 데이터의 개수 리턴stack 시간 복잡도 (Big-O 시간)삽입: O(1)삭제: O(1)검색: O(N) # stack 구현class Stack.. 2024. 1. 10. 이전 1 ··· 7 8 9 10 다음 728x90 반응형