본문 바로가기

전체 글

(64)
백준 물통(2251) DFS 문제를 풀어보았다. https://www.acmicpc.net/problem/2251 2251번: 물통 각각 부피가 A, B, C(1≤A, B, C≤200) 리터인 세 개의 물통이 있다. 처음에는 앞의 두 물통은 비어 있고, 세 번째 물통은 가득(C 리터) 차 있다. 이제 어떤 물통에 들어있는 물을 다른 물통으로 쏟아 부 www.acmicpc.net 물통은 A B C개가 존재하며 물은 한통에서 다른 통으로 옮긴다라는 하나의 액션을 생각해보면 된다. 내가 현재 잡은 물통에 물이 있으면 나머지 통에 옮길수 있을만큼 옮기면 된다. 키 포인트 선택한 물통을 다른 물통으로 옮길 수 있는 만큼 옮기기 몰통들의 수량 케이스를 담아서 방문기록 유지하기 import java.io.BufferedReader; im..
백준 결전의 금요일(25194) DP 문제를 풀었다. https://www.acmicpc.net/problem/25194 25194번: 결전의 금요일 곰곰이는 올해도 운동하기를 신년 목표로 삼았지만, 지금까지 헬스장을 한 번도 가지 않았다. 운동하라고 잔소리하는 당신에게, 곰곰이는 금요일에 정확히 일을 끝마치는 시점이 있다면 헬스 www.acmicpc.net 금요일은 작업일%7 이 나머지가 4인경우를 구하면 된다. 작업일들의 모든 경우의수를 구하게 처음 구했다 시간초과가 발생되었다. 생각 가능한 범주로는 작업일기준으로 월화수목금토일만 관리하면된다. 그렇게 발생된 케이스에서 게속 DP를 진행하면된다. import java.io.BufferedReader; import java.io.IOException; import java.io.Inp..
백준 휴먼 파이프라인(22981) 그리디 알고리즘 문제를 풀어보았다. https://www.acmicpc.net/problem/22981 22981번: 휴먼 파이프라인 모든 상자를 최대한 빠르게 옮기는 경우의 작업 시간을 분 단위로 출력한다. www.acmicpc.net 문제를 보면 A, B 두팀의 합산으로 이루어진 분당 처리량을 구하면 될거 같다. 한팀은의 분당 처리량은 주어진 처리량값중에 가장 작은 값이다. 그 다음 처리량 값을 구하면 해당 해 기준으로 인원수 처리를 하면 된다. 해서 구할수 있는 점화식이 있었다. 분당 처리량 = (최대인원 - 선택인덱스) * 선택인덱스 처리량 + (선택인덱스 * 최소 처리량) 이 되겠다. K는 long 타입으로 주의해야한다. 계속 numberFormatException이 나오길래 뭔가했었다. imp..