[알고리즘] 그리디 - JavaScript

2022. 9. 19. 18:16·알고리즘/풀이 힌트
반응형

그리디? 

매 선택에서 지금 순간 가장 최적인 답을 선택하는 알고리즘이다. 

A에서 F로 이동할 때 전체 코스트로만 본다면 D로 가는 것이 더 빠르다. 

하지만 그리디를 적용한다면 A 의 시점으로만 봤을 때는 B로 가는 것이 더 빠르기 때문에 B로 이동하게 된다. 

 

이처럼 현재 시점의 최적의 답은 선택하지만 이것이 최적의 결과를 보장하지는 않는다. 

그리디의 특징

  • 보통 최적의 결과를 구하는 알고리즘보다 빠른 경우가 많다. 
  • 크루스칼, 다익스트라 알고리즘 등에 사용된다. 
  • 직관적인 문제를 풀 때 적합하다. 

사용되는 방식

동전 반환 문제로, 

큰 단위인 지폐, 동전 순으로 거스름돈을 만들 때 사용한다. 

1860원을 먼저 가장 큰 단위인 1000원짜리 지폐로, 그 후 500원, 100원, 50원, 10원 순으로 구하면 

빠르게 계산이 가능하다. 

 

 

 

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'알고리즘 > 풀이 힌트' 카테고리의 다른 글

[알고리즘] 최단 경로 알고리즘 - JavaScript  (2) 2022.09.21
[알고리즘] 배열끼리 비교해서 배열의 포함 관계 확인하기  (1) 2022.09.12
[알고리즘] 최소 신장 트리 ( Kruskal ) - JavaScript  (2) 2022.08.29
[알고리즘] 재귀 함수를 이용한 순열, 조합  (1) 2022.08.27
[알고리즘] 재귀 함수를 이용한 트리 순회 알고리즘  (0) 2022.08.26
'알고리즘/풀이 힌트' 카테고리의 다른 글
  • [알고리즘] 최단 경로 알고리즘 - JavaScript
  • [알고리즘] 배열끼리 비교해서 배열의 포함 관계 확인하기
  • [알고리즘] 최소 신장 트리 ( Kruskal ) - JavaScript
  • [알고리즘] 재귀 함수를 이용한 순열, 조합
잉여개발자
잉여개발자
풀스택 개발자를 목표로 잉여롭게 개발 공부도 하면서 다양한 취미 생활도 즐기고 있는 잉여 개발자입니다.
  • 잉여개발자
    잉여로운 개발일지
    잉여개발자
    • 분류 전체보기 (789)
      • 개발정보 (36)
      • 개발환경 (7)
      • 개발생활 (19)
      • React (141)
        • 이론 (23)
        • 기능 (12)
        • 실험실 (88)
        • 버그 (6)
        • 패스트캠퍼스 (9)
        • Npm (3)
      • React Native (28)
        • 공통 (6)
        • TypeScript (3)
        • JavaScript (18)
        • 버그 (1)
      • Next.js (30)
        • 이론 (13)
        • 실험실 (13)
        • 버그 (3)
      • Web (35)
      • 알고리즘 (202)
        • 풀이 힌트 (39)
      • JavaScript (47)
      • TypeScript (29)
        • 기초 (27)
        • 실험실 (2)
      • Node.js (13)
        • 이론 (0)
        • 기능 (3)
        • 실험실 (9)
        • 버그 (1)
      • 도커 (4)
      • CCNA (22)
        • 이론 (4)
        • 문제 (18)
      • 취미생활 (167)
        • 잉여로운 칵테일 (2)
        • 잉여의 식물키우기 (130)
        • 잉여로운 여행기 (11)
        • 잉여의 제2외국어 (21)
        • 잉여로운 책장 (2)
      • Java (1)
        • Java의 정석 (1)
      • 꿀팁 공유 (3)
  • 태그

    바질
    타일러영어
    영어독학
    Docker
    react
    CSS
    다이소
    영어회화
    타입스크립트
    javascript
    typescript
    redux
    덤프
    Node.js
    CCNA
    알고리즘
    리얼학습일기
    webpack
    자바스크립트
    리얼클래스
    next.js
    Babel
    네이버 부스트캠프
    식물
    리액트
    ChatGPT
    네트워크
    바질 키우기
    ReactNative
    프로그래머스
  • hELLO· Designed By정상우.v4.10.1
잉여개발자
[알고리즘] 그리디 - JavaScript
상단으로

티스토리툴바