본문 바로가기

그리디알고리즘

(3)
그리디 알고리즘 - 숫자 카드 게임 문제 설명 숫자 카드가 NxM개 존재. 뽑을 카드가 있는 행에서 카드를 한장 선택 뽑은 카드는 해당 행에서 가장 작은 수를 가진 카드여야 함 최종적으로 가장 높은 수를 뽑는 사람이 이기는 게임 문제 조건 첫째줄에 행의 개수 N과 열의 개수 M이 주어지며, 각 자연수는 공백으로 구분한다. (1 ≤ N, M ≤ 100) 둘째부터 N개의 줄에 걸쳐 카드의 적힌 숫자가 주어진다. 각 숫자는 1부터 10000까지의 자연수이다. 입력 예시 3 3 3 1 2 4 1 4 2 2 2 출력 : 2 NxM 배열 형태로 놓여있는 카드들을 각 행별로 하나씩 골라 가장 큰 수를 찾는 문제이다. 단, 각 행에서 가장 작은 수를 골라야 한다. 아이디어 : 각 행별로 최솟값들을 모은 뒤, 그 중에서 최댓값을 구함 최솟값 = Math...
그리디 알고리즘 - 큰 수의 법칙 문제 설명 다양한 수 N개로 이루어진 배열이 있을 때, 이 수들을 M번 더해 가장 큰 수를 만드는 법칙 특정 인덱스에 해당하는 수가 연속해서 K번을 초과해서 더해질 수 없음 문제 조건 첫째줄에 N(2 ≤ N ≤ 1000), M(1 ≤ M ≤ 10000)M, K(1 ≤ K ≤ 10000)가 주어지며, 각 자연수는 공백으로 구분한다 둘째줄에 N개의 자연수가 주어진다. 각 자연수는 공백으로 구분한다. 단 각각의 자연수는 1 이상 10000 이하의 수로 주어진다 입력으로 주어지는 K는 M보다 항상 작거나 같다 입력 예시 5 8 3 2 4 5 4 6 출력 : 46 N개의 수들을 M번 더해 가장 큰 수를 만드는 문제였다. 단, 같은 수는 K번 이상 더할 수 없다. 아이디어 : 배열 내에서 가장 큰 수들을 더함 제한..
그리디 알고리즘(탐욕법) 그리디 알고리즘이란? 욕심쟁이 플랜트와 착한 페이지는 치킨메이트이다. 늘 둘이 함께 다니며, 이 건실하고 재능있는 청년들은 1인 1닭 정도는 가뿐히 처리할 수 있다. 오늘도 어김없이 치킨을 먹으러 간 플랜트와 페이지. 둘은 언제나 그랬듯 플랜트가 가장 좋아하는 양념치킨과 페이지가 좋아하는 파닭을 시켰다. 하지만 가는날이 장날이라고, 하필 튀김기 1대가 망가져 오늘은 치킨이 한마리씩 나온다고 한다. 어쩔 수 없지, 두 청년은 시원한 맥주를 시켜놓고, 먼저 나온 파닭을 먹기 시작했다. 그런데 아뿔싸! 늘 두마리를 나눠먹다가 한마리를 먹으니 욕심쟁이 플랜트의 본성이 드러나고야 말았다. 두 다리를 허겁지겁 먹어 치우더니 급기야 날개, 가슴살, 심지어 야들야들한 허벅지살까지!! 혼자 낼름 먹어치워버린 것이다 !!..