[42서울] push_swap 그리디 알고리즘
·
대외활동/42서울
서론 2서클 과제인 push_swap에 대해 정리해보려 한다. push_swap은 인자로 받은 숫자들을 두 개의 스택(stack_a, stack_b)을 이용해 최대한 적은 명령어를 사용하여 정렬하는 알고리즘을 구현하는 과제이다. 필자는 push_swap 평가를 처음 갔을 때 그리디 알고리즘을 사용하여 이 과제를 해결할 수 있다는 말을 듣고 매력적으로 느껴 그리디 알고리즘을 선택하게 되었다. push_swap 그리디 알고리즘 그리디 알고리즘은 매 결정마다 그 순간 최적의 결정을 내리는 과정을 반복해 최종적인 해답에 도달하는 알고리즘이다. 제한된 명령어만 사용할 수 있는 push_swap에 어떻게 그리디 알고리즘을 적용시킬 수 있을까? 답은 정렬되어 있지 않은 stack_b의 원소를 정렬된 stack_a로 ..