반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- JPA 공부
- JPA스터디
- 스프링부트
- 프로그래머스
- nestjs
- JPA
- 스프링부트공부
- K8S
- 코테공부
- 자바공부
- DDD
- nestjs공부
- JPA공부
- querydsl
- Axon framework
- 플러터 공부
- 스프링공부
- Kafka
- 카프카
- nestjs스터디
- 스프링
- 알고리즘공부
- 기술면접공부
- Flutter
- 자료구조공부
- 스프링 공부
- 기술공부
- 코테준비
- 플러터 개발
- JPA예제
Archives
- Today
- Total
DevBoi
5. 알고리즘 정리 [그리디] 본문
반응형
그리디 알고리즘, 흔히 말해 탐욕기법이다.
우선 해당 알고리즘의 동작 형태 및 구현 방법에 대해서 익혀보자
그리디 탐욕기법은, 경우의 수가 존재할 경우, 매순간 최선의 경우를 선택하는 알고리즘이다.
현재 상황에서 가장 좋다고 생각되는 것을 선택해 나가는 것이기 떄문에, 항상 가장 좋은 결과를 만드는 것은 아니다.
그럼, 그냥 문제를 바로 풀어보자
* 동전 0
https://www.acmicpc.net/problem/11047
상당히 간단하다, 문제에서 오름차순으로 준다고해서, 별도 정렬 도필요없고
그냥 끝번호부터 차례로 나눌수있는지 체크를해서 더해주고
나머지와 몫을 잘활용하면 된다.
그리디 알고리즘은 솔직히 항상 최적의 해를 만족한다고 보기어려워서
잘 안쓰일것같다.
하지만 한문제만 더 풀어보자
* 회의실 배정
https://www.acmicpc.net/problem/1931
이 문제는 그리디의 어떻게 보면 예제 같은 문제인데,
해결방법은 간단하다. 근데 조금 깊게 생각해보면 이 값에 대한 테스트케이스가 좀 더 많거나 깊다면, 틀릴것같다.
그리디는 조금 애매하다. 사실 탐욕기법이라기 보다, 그냥 다이나믹 프로그래밍에 대한 일련 간단 방법? 같기도 하다.
무튼, 방법은 종료시간에 대한 정렬 뒤에, 하나씩 추가하고, 종료시간을 갱신, 시작시간과 종료시간을 비교해 가면서 값을 추가 하는 것이다.
이런 문제는 사실 연습에 큰 도움이 안될 것같다.
반응형
'Algorithm > [Etc]' 카테고리의 다른 글
[프로그래머스] 프린터 풀이 (0) | 2021.09.07 |
---|---|
프로그래머스 [기능개발] 풀이 (0) | 2021.09.05 |
4. 알고리즘 정리 [투 포인터] (0) | 2021.07.28 |
3. 알고리즘 정리 [최단 경로] (0) | 2021.07.24 |
3. 알고리즘 정리 [이분탐색] (0) | 2021.07.18 |