본문 바로가기

알고리즘/알고리즘 개념 정리

Greedy

 

 

큰 수 만들기에서

재귀함수를 연습하려고 했는데

시간초과가 나왔다.

 

이럴 때는 그리디를 선택해야한다.

코드에서 스택을 사용한다.

코드 해석은 했지만, 왜 스택에 넣고 빼고 하는지 이해가 되지 않아서 정리하려고 한다.


프로그래머스 그리디 문제 목록

https://school.programmers.co.kr/learn/courses/30/parts/12244

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

백준 그리디 문제 목록

https://www.acmicpc.net/workbook/view/4380

 

 


개념

https://www.youtube.com/watch?v=8V2zw6Qxarc&list=PLFgS-xIWwNVX-zm4m6suWC9d7Ua9z7fuT&index=23

 


문제별 알고리즘 Kick Key


큰 수 만들기 (programmers)

0) 이미 문자가 배열

1) 스택 사용

2) 현재 값 > 스택 맨위 보다 크면 ==> 스택에 작은 값을 빼고, 큰 값을 스택에 넣는다

3) 전체 제거 수 카운트를 센다

4) 전체 제거 수 카운트가 끝나면 스택의0번부터 마지막까지 값을 출력한다

 

 


동전 개수의 최솟값 구하기 (백준 11047)

0) 몫을 나눌 동전들을 큰 값부터 배열 정렬

1) for문 사용

2) 나머지가 0 이면 멈춘다

3) count 변수 개수 출력

 


 

'알고리즘 > 알고리즘 개념 정리' 카테고리의 다른 글

최대공약수(유클리드 호제법)  (0) 2024.08.17
DFS  (0) 2024.08.02
[java] Array  (0) 2021.09.27
[java] Math 클래스, String  (0) 2021.09.27
[java] stream  (0) 2021.09.27