-
[CodeTree/Python] 최대 이익 구하기 2Solve 2024. 6. 30. 18:54
문제더보기최대 이익 구하기 2n일 동안 하루에 하나씩 일을 지급받습니다. 일은 하는데 걸리는 날짜 수 Ti와, 받는 보수 Pi가 정해져 있습니다.여러 개의 일은 동시에 할 수 없고, 모든 일은 n일 안에 마무리되어야 합니다.예를 들어서, n=5 일 때 다음의 상황을 생각해봅시다.이런 경우, 1일에 일을 하게 되면 1일~3일에 걸쳐서 일하게 되며, 100의 보수를 지급받습니다. 그렇기 때문에, 1일에 일하기로 하면 2일 또는 3일에 할당된 일은 할 수 없습니다.또, 4일에는 일을 할 수 없는데, 이는 4일에 시작한 일은 n일 안에 마무리되지 않기 때문입니다.따라서 위의 예시에서 가장 많은 이익을 얻기 위해서는, 1일과 5일에 할당된 일을 해서 120의 이익을 얻어야 합니다.지급받은 일을 하는데 걸리는 ..
-
[CodeTree/Python] 앞의 두 수를 더한 수열, 1, 2, 3 더하기Solve 2024. 6. 30. 18:43
문제더보기앞의 두 수를 더한 수열첫 번째 항이 0이고, 두 번째 항이 1인 수열이 있습니다.이 수열의 세 번째 항부터는 바로 앞의 두 항의 합을 값으로 가집니다.n이 주어졌을 때, 이 수열에서 n + 1 번째 항을 구하는 프로그램을 작성하세요. 입력 형식첫 번째 줄에 정수 n이 주어집니다.1 ≤ n ≤ 20출력 형식첫 번째 줄에 n + 1 번째 항을 출력합니다. 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 풀이n = int(input())li = [0, 1]def func(n): while True: for i in range(len..
-
[BOJ/Python] 백준 2563 - 색종이Solve 2024. 6. 26. 01:19
문제더보기문제가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.예를 들어 흰색 도화지 위에 세 장의 검은색 색종이를 그림과 같은 모양으로 붙였다면 검은색 영역의 넓이는 260이 된다. 입력첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변과 도화지의 왼쪽 변 사이의 거리이고, 두 번째 자연수는 색종이의 ..
-
[BOJ/Python] 백준 1541 - 잃어버린 괄호Solve 2024. 6. 26. 01:11
문제 더보기문제세준이는 양수와 +, -, 그리고 괄호를 가지고 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오. 입력첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 많이 연속되는 숫자는 없다. 수는 0으로 시작할 수 있다. 입력으로 주어지는 식의 길이는 50보다 작거나 같다. 출력첫째 줄에 정답을 출력한다.풀이# 최소값 되려면 다음 - 부호 나오기 전 - 부호 식을 다 묶어야 함# - 단위로 쪼개기li =..
-
[CodeTree/Python] 용량이 다른 3개의 물통Solve 2024. 6. 26. 00:50
문제더보기용량이 다른 3개의 물통물을 담을 수 있고 각각 용량이 다른 물통 3개가 있습니다. 각 물통마다 담을 수 있는 최대 용량과 원래 담겨 있던 물의 양이 주어지고, 1번 물통에서 2번 물통으로, 2번 물통에서 3번 물통으로, 3번 물통에서 다시 1번 물통으로 내용물을 옮겨 담는 작업을 100번 진행했을 때, 각 물통에 들어있는 내용물의 양을 구하는 프로그램을 작성해보세요. 입력 형식3개의 줄에 걸쳐 한 줄에 하나씩 각 물통의 용량과 물통에 들어있던 내용물이 공백을 사이에 두고 주어집니다.1 ≤ 물의 용량 ≤ 1,000,000,000출력 형식1 → 2, 2 → 3, 3 → 1 순서로 옮겨담는 작업을 100번 반복한 이후의 결과를 3개의 줄에 걸쳐 출력합니다.첫 번째 줄에는 1번 물통에 남아있는 물의 ..
-
[CodeTree/Python] n * m 표 이동 7 (미해결)Solve 2024. 6. 25. 09:10
직사각형 내부에 1이 존재할 수 없도록 주어진다고 가정하고 작성from collections import dequen, m = map(int, input().split())# 맵, 방문 리스트 생성graph = []visit = []graph.append([9]*(m+2))for _ in range(n): graph.append([9] + list(map(int, input().split())) + [9])graph.append([9]*(m+2))# 직사각형 크기, 시작점, 도착점 좌표 받기h, w, sx, sy, ex, ey = map(int, input().split())# print(graph[2][3])# print(n, m, h, w, sx, sy, ex, ey)# BFS# 큐: sx, s..
-
[CodeTree/Python] 개발자의 컴퓨터Solve 2024. 6. 25. 09:10
문제더보기개발자의 컴퓨터N명의 개발자가 시간 s 부터 t 까지 b개의 컴퓨터를 사용하려고 할 때, 모든 개발자가 무리없이 일을 하기 위해 필요한 컴퓨터의 최소 개수를 구하는 프로그램을 작성해보세요. 입력 형식첫 번째 줄에 정수 N이 주어집니다.두 번째 줄부터는 N개의 줄에 걸쳐 각 줄마다 s, t, b가 공백을 사이에 두고 주어집니다. 입력으로 주어지는 모든 s, t 끼리는 서로 값이 다름을 가정해도 좋습니다.1 ≤ N ≤ 1001 ≤ s 1 ≤ b ≤ 10출력 형식첫 번째 줄에 모든 개발자가 성공적으로 일을 끝내기 위해 필요한 최소 컴퓨터의 수를 출력합니다. 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한..
-
[CodeTree/Python] CycleSolve 2024. 6. 25. 09:10
문제더보기Cycle숫자 N과 P가 주어집니다.처음에는 N으로 시작합니다.다음에는 그 숫자에 N을 곱하고 P로 나눈 나머지를 구합니다.이 행동을 반복하면 언젠가는 이미 등장했던 숫자가 등장하게 됩니다.이 때에 반복되는 사이클의 크기를 구하는 프로그램을 작성해보세요. 입력 형식첫번째 줄에 N과 P가 공백을 사이에 두고 주어집니다.1 ≤ N ≤ 1,0002 ≤ P ≤ 97출력 형식첫번째 줄에 반복되는 사이클의 숫자 개수를 출력하세요. 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.www.codetree.ai 풀이n, p = map(int, input().split())li = [n]co..
-
[CodeTree/Python] 화면에 출력Solve 2024. 6. 17. 21:50
문제더보기화면에 출력화면에 문자가 하나 입력되어있습니다. 다음의 연산을 통해 문자를 s개로 만들어 보려고 합니다.화면에 있는 모든 문자를 복사해서 클립보드에 저장합니다.클립보드에 있는 모든 문자를 화면에 붙여넣기합니다.화면에 있는 문자중 하나를 삭제합니다.클립보드의 내용은 항상 덮어씌어 지며, 클립보드의 문자는 삭제할 수 없고, 클립보드의 문자를 화면에 붙여넣으면 문자가 추가가됩니다.클립보드가 비어있으면 2번연산을 실행할 수 없으며, 일부만 복사할 수 없습니다.이러한 연산을 통해 문자를 s개 만드는데 필요한 최소 연산 횟수를 구하는 프로그램을 작성해보세요. 입력 형식첫 번째 줄에 s가 주어집니다.2 ≤ s ≤ 1,000출력 형식문자열을 s개 만들기 위해 필요한 최소 연산 횟수를 출력합니다. 코드트리 | ..
-
[CodeTree/Python] 확산4Solve 2024. 6. 17. 21:14
문제더보기확산 4크기가 n x m 인 표 위에 채워져 있는 칸은 'O'로 빈칸은 ' . ' 으로 주어져 있습니다.'O' 는 다음과 같은 속성을 가집니다.3초가 지나게 되면 자신을 포함한 상하좌우 5개의 칸을 빈칸으로 만듭니다.또, 'O'는 다음과 같은 규칙으로 생기게 됩니다.초기 1초를 제외하고, 모든 빈칸에 'O'가 생깁니다.s초 후에 표의 상태를 구하는 프로그램을 작성해보세요. 입력 형식첫 번째 줄에 n, m, s가 주어집니다.두 번째 줄부터 n개의 줄에 걸쳐 ' . ' 또는 'O' 이 m개씩 공백없이 주어집니다.1 ≤ n, m, s ≤ 200출력 형식s초 후의 표의 상태를 n개의 줄에 걸쳐 출력합니다. 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보..