백준667 [백준] 단계별로 풀어보기(단계:16,그리디 알고리즘,JAVA)1931번, 회의실 배정 문제 링크 1931번: 회의실 배정 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 그리드 알고리즘(탐욕 알고리즘)이란 여러 경우를 선택해야할 때 그 상황에 최적의 경우으로 생각하는 것을 반복하여 최종적인 답을 가져오는 방법입니다. 이 문제에서는 최대의 회의실 사용횟수를 구하려면 현재 시간에서 최소로 끝날 수 있는 시간을 찾아서 그 회의를 반복하는 것입니다. 문제에서는 회의의 시작시간과 끝나는 시간이 섞여있기 때문에 끝나는 시간 순으로 오름차순 정렬을 하.. 2022. 1. 31. [백준] 단계별로 풀어보기(단계:16,그리디 알고리즘,JAVA)11047번, 동전 0 문제 링크 11047번: 동전 0 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 그리드 알고리즘(탐욕 알고리즘)이란 여러 경우를 선택해야할 때 그 상황에 최적의 경우으로 생각하는 것을 반복하여 최종적인 답을 가져오는 방법입니다. 이 문제에서는 동전의 최소의 개수를 얻으려면 가치가 큰 동전을 최우선 사용하여 동전의 최대 가치를 0을 만들어야 합니다. 문제에서 입력에서 동전의 가치가 오름차순으로 정렬되어 있기 때문에 정렬하지 않아도 됩니다. 가치가 높은 동.. 2022. 1. 31. [백준] 단계별로 풀어보기(단계:15,동적계획법1,JAVA)12865번, 평범한 배낭 문제 링크 12865번: 평범한 배낭 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 동적계획법이란 위 문제와 같이 동일한 연산을 계속 반복하여 비효율적으로 코드가 실행되어 그것을 향상시키기 위하여반복되는 연산의 결과를 따로 저장하여 적재적소에 코드가 더 효율적으로 만드는 방법입니다. 배낭에 물건을 넣을 때에 최대의 가치를 넣을 때를 표로 만들었습니다. 표에서 열의 index값은 무게의 최대 무게일 때를 표현합니다. 예를 들어 index=4이면 최대무게가.. 2022. 1. 31. [백준] 단계별로 풀어보기(단계:15,동적계획법1,JAVA)1912번, 연속합 문제 링크 1912번: 연속합 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 동적계획법이란 위 문제와 같이 동일한 연산을 계속 반복하여 비효율적으로 코드가 실행되어 그것을 향상시키기 위하여반복되는 연산의 결과를 따로 저장하여 적재적소에 코드가 더 효율적으로 만드는 방법입니다. 연속된 합에서 마지막 수는 자기자신이 최대수로 표현할 수 있습니다. 예제 입력 1에 대하여 연속합에 표를 만들면 10 -4 3 1 5 6 -35 12 21 -1 21 11 15 1.. 2022. 1. 29. [백준] 단계별로 풀어보기(단계:15,동적계획법1,JAVA)9251번, LCS 문제 링크 9251번: LCS www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 동적계획법이란 위 문제와 같이 동일한 연산을 계속 반복하여 비효율적으로 코드가 실행되어 그것을 향상시키기 위하여반복되는 연산의 결과를 따로 저장하여 적재적소에 코드가 더 효율적으로 만드는 방법입니다. LCS에 대한 정의는 문제에서 알려주고 있지만 알고리즘을 구성할 때 감이 잡히지 않아서 위키백과에서 LCS에 관련 글을 참고하여 풀어보았습니다. 최장 공통 부분 수열 - 위키백과,.. 2022. 1. 28. [백준] 단계별로 풀어보기(단계:15,동적계획법1,JAVA)2565번, 전깃줄 문제 링크 2565번: 전깃줄 www.acmicpc.net 주의사항 JAVA를 사용하여 프로그램을 사용하였습니다. 백준에서 코드를 작성하였을 때 아래 형태에서 Main에서 결과가 출력되어야 합니다. public class Main{ public static void main(String[] args){ } } 문제 설명 접근 방법 동적계획법이란 위 문제와 같이 동일한 연산을 계속 반복하여 비효율적으로 코드가 실행되어 그것을 향상시키기 위하여반복되는 연산의 결과를 따로 저장하여 적재적소에 코드가 더 효율적으로 만드는 방법입니다. 전깃줄에 대한 정의는 문제에서 모두 알려주고 있습니다. 문제에 대한 수열에서 각 숫자들이 최대 숫자라고 생각하고 수열에 길이를 만들어보면 표를 만들어보았습니다. 처음에 문제를 접근.. 2022. 1. 28. 이전 1 ··· 90 91 92 93 94 95 96 ··· 112 다음