그리디 알고리즘

알고리즘/그리디

이코테 문제 - 곱하기 혹은 더하기

문제 왼쪽부터 오른쪽으로 하나씩 모든 숫자를 확인하며 사이에 'X' 혹은 '+'를 넣어 만들 수 있는 가장 큰 수 구하기 모든 연산은 왼쪽부터 이뤄진다고 가정 입력 조건 첫째 줄에 여러 개의 숫자로 구성된 하나의 문자열 S가 주어짐 (1

알고리즘/그리디

이코테 문제 - 모험가 길드

문제 공포도가 X인 모험가는 반드시 X명 이상으로 구성한 모험가 그룹에 참여해야 함 만들 수 있는 모험가 그룹의 최대 개수 구하기 입력 조건 첫째 줄에 모험가의 수 N이 주어짐 (1 값 갱신해주기 (count는 0으로, answer ++) #define _CRT_SECURE_NO_WARNINGS #include #include #include using namespace std; int n[100001]; int main() { int N; int i; int answer = 0; int count = 0; scanf("%d", &N); for (i = 0; i < N; i++) { scanf("%d", &n[i]); } sort(n, n + N); for (i = 0; i < N; i++) { coun..

알고리즘/그리디

그리디 알고리즘 정리

그리디 알고리즘 (탐욕법) 현재 상황에서 가장 좋은 것만 고르는 방법 기준에 따라 좋은 것을 선택함 -> 기준대로 정렬 알고리즘을 이용해 해결 가능 그리디 알고리즘으로 문제에 접근했을 때 정답을 얻을 수 있다고 보장되었을 경우 효과적임 -> 최소한의 아이디어가 정당한지 검토해야 정답 도출 가능함 반복되는 수열을 파악해야 함 풀 때 생각할 점 문제의 규칙(수열) 찾기 어떻게 정렬할지 생각하기 아이디어가 맞는지 검토하기 백준 문제 11047번 #define _CRT_SECURE_NO_WARNINGS #include #include #include #include using namespace std; int coin[11]; int main() { int N, K; int i, t; int sum = 0; s..

hahihi
'그리디 알고리즘' 태그의 글 목록