옮기려는 반원의 가장 아래숫자는 마지막(end-3)칸에 바로 옮기고 나머지 반원들은 가운데(mid-2)칸을 거쳐간다. 가장 아래 숫자가 마지막칸으로 바로 가는 이유는 1. 옮길 자리가 두칸밖에 없는데 다른 반원들 위에는 올라갈 수 없고 2. 마지막 맨아래 가야하기 때문에 우선순위가 생긴다. 위에는 이해를 했으나 재귀 호출 순서가 헷갈려서 그려본 결과 아래처럼 호출된다. num=2일때 1번으로 moveTop의 num=0 까지 호출돼서 전부 실행한 경우 2번의 push 로 돌아오고 다시 3번의 끝까지 전부 실행한다. const fs = require("fs"); const n = +fs.readFileSync("/dev/stdin").toString(); const answer = []; function m..