Computer Science

    백준 14501) 퇴사_ Python

    문제 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 코드 import sys input = sys.stdin.readline N = int(input()) T = [0]*(N+1) P = [0]*(N+1) for i in range(N): Ti, Pi = map(int, input().split()) T[i] = Ti P[i] = Pi DP = [0]*(N+1) for i in range(N-1, -1, -1): if(N-i < T[i]): DP[i] = DP[i+1] # 주어진 시간안에 상담할 수 없음, 이전 값과 동일 else: DP[i] = max(DP[i+1], P[i]+..

    백준 12865) 평범한 가방 - Python

    https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 가치 V(0 ≤ V ≤ 1,000) www.acmicpc.net 1. 문제 2. 문제 풀이 방식 기본적인 0/1 Knapsack 문제이다. 우선 무게를 고려해 물건을 담는 경우의 수는 두가지가 있다. 배낭 무게보다 물건이 무거워서 물건을 못담는 경우 물건을 담을 수 있는 경우 여기서 가치를 고려했을 때 두가지 경우가 또 갈라진다. 이 물건을 포함했을때의 가치 이 물건을 포함하지 않았을 때의 가치..

    프로그래머스 Lv4- 징검다리

    https://programmers.co.kr/learn/courses/30/lessons/43236 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr 1) 문제 분석 출발지점~ 도착지점 까지의 거리가 distance만큼 떨어져 있으며, 그 사이에 바위들이 놓여있다. 이 바위들이 놓여져 있는 지점을 rocks라는 배열에 저장한다. 그중 바위를 n개 만큼 제거하는데, 각 경우에서 각 지점 사이 거리의(출발, 끝지점 포함) 최솟값이 가장 큰 값을 return하도록 한다. 2) 코드 def solutio..