본문 바로가기

#백준 #알고리즘 #그리디알고리즘2

[알고리즘 문제] 백준2217 - 로프 이 문제는 주어진 로프를 사용해서 들어올릴 수 있는 최대 중량의 값을 구하는 문제이다. 입력으로 각 로프가 들어올릴 수 있는 최대 중량이 주어지고, 출력은 이 로프들을 사용하여 들어올릴 수 있는 최대 중량을 출력하면 된다. 이 문제의 조건은 다음과 같다. 1. 각 로프가 들어올릴 수 있는 무게는 다르다. 2. k개의 로프를 사용하여 w중량을 들어올린다면, 각각의 로프에는 모두 고르게 w/k만큼의 중량이 걸리게 된다. 3. 로프를 모두 사용하거나, 임의로 몇개의 로프를 골라서 사용해도 된다. 문제해결 아이디어는 다음과 같다. 1. 먼저 입력받은 중량값을 정렬한다. 이는 최대중량을 가진 로프부터 검사하기 위해서 이다. 2. 들어올릴 수 있는 중량이 가장 큰 로프를 list에 넣고, 그 다음 로프와 협력햇을 .. 2019. 6. 5.
[알고리즘 문제] 백준2875 - 대회or인턴 이 문제는 여학생,남학생들로 만들 수 있는 팀의 최대값을 구하는 문제이다. 팀을 만드는데 조건은 다음과 같다. 1. 팀의 구성원은 여학생2명, 남학생1명이다. 2. 학생들 중 k명은 반드시 인턴쉽 프로그램에 참여해야 한다. 3. 인턴쉽에 참여하는 학생은 대회에 참여하지 못한다. 이번 문제는 그리디알고리즘을 사용했는데, 아이디어는 다음과 같다. 1. 현재 학생들로 만들 수 있는 최대팀을 구한다. 2. 남은 학생들이 인턴쉽에 참여하는 학생들을 만족하는지 검사한다. 3. 만족하면 현재 팀의 개수를 출력하고, 그렇지 않으면 팀의 개수를 줄이면서 그 만큼의 학생수를 충원하면서 인턴쉽에 참여하는 학생들의 수를 만족할 때 까지 반복한다. import java.util.*; public class Main { publ.. 2019. 6. 5.