-
Notifications
You must be signed in to change notification settings - Fork 0
Home
push_swap tester : https://github.com/minckim42/push_swap_tester
reference : https://medium.com/@jamierobertdawson/push-swap-the-least-amount-of-moves-with-two-stacks-d1e76a71789a
Goal
정렬 알고리즘을 쓰는 것은 코더의 삶에서 항상 매우 중요한 단계인데, 이는 종종 복잡성의 개념을 처음 접하기 때문이다. 정렬 알고리즘과 그 복잡성은 취업 면접에서 논의되는 전형적인 질문의 일부이다. 이러한 개념들을 한 번에 마주해야 하기 때문에 이러한 개념들을 살펴보기 좋은 시기일 것입니다. 이 프로젝트의 학습 목표는 엄격성, C 사용 및 기본 알고리듬 사용이다. 특히 이러한 기본 알고리즘의 복잡성을 살펴봅니다. 값 정렬은 간단합니다. 특히 정수 구성마다 가장 효율적인 정렬 알고리즘이 다를 수 있기 때문에 가능한 빨리 정렬하는 방법은 간단하지 않습니다.
이것은 정수 목록으로 형식화된 스택을 인수로 가져온다. 첫 번째 인수는 스택의 맨 위에 있어야 한다.(순서에주의!) 인수가 주어지지 않으면 검사기가 중지되고 아무것도 표시하지 않는다.
그런 다음 Checker는 표준 입력에 대한 지침을 기다렸다가 읽는다. 각 지침 뒤에는 '\n'이 표시된다. 모든 명령어가 읽히면 checker는 인수로받은 스택에서 명령어를 실행한다. 이러한 명령어를 실행한 후 a가 실제로 정렬되고 b가 비어있는 경우 검사기는 표준 출력에 "OK"다음에’\n’을 표시한다. 다른 경우에 검사기는 표준 출력에 "KO"다음에’\n’을 표시한다.
오류가 발생한 경우 오류를 표시하고 표준 오류에 '\n'을 표시한다. 오류에는 예를 들어, 일부 인수가 정수가 아니거나(one, 일 등등), 일부 인수가 int의 최대값, 최소값보다 크거나 작으면 안되고, 중복 항목이 있거나, 명령어가 존재하지 않거나, 형식이 잘못되었을 때이다.