728x90 다이나믹프로그래밍30 [python] 백준 7570 줄 세우기 https://www.acmicpc.net/problem/7570 7570번: 줄 세우기 입력은 2 개의 줄로 이루어져 있다. 첫 줄에는 어린이 수를 나타내는 정수가 주어진다. 둘째 줄에는 처음에 줄서있는 어린이들의 번호가 차례대로 주어진다. 주어진 번호들 사이에는 공백이 하 www.acmicpc.net 문제 해결 임의의 배열을 최소한의 이동을 통해 [i for i in range(n+1)] 를 만들면 된다. 이 말은 원소가 계속 증가 수열이 되도록 하면 된다는 것과 동치이다. (원소가 1~n까지 고정이므로) 이 문제를 보자마자 최대로 긴 증가 수열을 구하는 문제를 떠올렸다. 증가하다 끊긴 부분에서 두 원소 중 하나는 무조건 이동을 해야한다. 그리고 다시 증가하는 수열이 생겨도 원소 시이에 원소를 넣을 .. 2023. 4. 8. [python] 백준 14501 퇴사 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 문제 해결 i번째 일의 상담을 했을 때 k일이 걸린다면 i+k-1일까지는 상담을 못한다. 따라서 i+k일의 상담부터 할 수 있다. i+k일의 상담을 할 수 있어도 만족스럽지 않으면 안하고 i+k+1일로 넘어갈 수 있다. 상담은 n일 까지 끝내야 하므로 주의한다. (아래 코드는 0일부터 n-1일로 했다. 그러므로 이해할 때 -1일을 더하면 된다.) CODE import sys input = sys.stdin.readline n = int(input()) schedule = [list(map(int, input().split())) fo.. 2023. 1. 15. 이전 1 ··· 5 6 7 8 다음 728x90