뇌 마음 반반저장소

[push_swap] 시작하며 본문

42/push_swap

[push_swap] 시작하며

맹진저 2023. 1. 17. 19:31
728x90

Push_swap

Parce que Swap_push, c’est moins naturel

왜 푸쉬스왑이냐, 자연스럽지 않기 때문이지.

 

 

Résumé:
Ce projet vous demande de trier des données dans une pile, en utilisant un set d’instructions limité, et avec le moins d’opérations possibles. Pour le réussir, vous devrez manipuler différents algorithmes de tri et choisir la (ou les ?) solution la plus appropriée pour un classement optimisé des données.

요약:
이 프로젝트는 당신에게 제한된 일련의 명령어를 사용하여 가능한 한 적은 수의 연산을 사용하여 스택에서 데이터를 분류하도록 요구한다. 이를 성공시키기 위해서는 다양한 분류 알고리즘을 조작하고 최적화된 데이터 분류에 가장 적합한

(또는?) 솔루션을 선택해야 한다.

Version: 6

 

Chapitre II

Introduction 소개

Le projet Push swap est un exercice d’algorithmie simple et efficace : il faut trier de la donnée.

Pushswap 프로젝트는 간단하고 효율적인 알고리즘 연습으로 데이터를 분류해야 한다.


Vous avez à votre disposition un ensemble d’entiers, deux piles et un ensemble d’instructions pour manipuler celles-ci.

당신은 그것들을 조작하기 위한 전체 세트, 두 개의 배터리, 그리고 이런 것들을 조작하기 위한 일련의 지침들을 가지고 있다.

 

Votre but? Écrire un programme en C nommé push_swap qui calcule et affiche sur la sortie standard le plus petit programme, fait d’instructions du langage Push swap, permettant de trier les entiers passés en paramètres.

당신의 목표는? C언어로 정에진 규칙에따라 Push swapdms 가장 작은 프로그램 표준 출력에 계산하고, Push_swap 명령어 즉 프로그램을 만들어내어, 이것을 사용하면 매개변수로 차례대로 정렬할 수 있다.

(가장 경제적으로 돌아가는 프로그램을 만들어서 정수를 차례로 정렬하는 프로그램을 만들라는 뜻.)

 

Facile?

쉬워보여?

 

Et bien, c’est ce qu’on va voir...

그래 뭐, 한번 보자구. 

 

Chapitre III

Objectifs 목표

Écrire un algorithme de tri est toujours une étape importante dans la vie d’un programmeur débutant car il s’agit souvent de la première rencontre avec la notion de complexité.

분류 알고리즘을 작성하는 것은 종종 복잡성의 개념과의 첫 만남이기 때문에, 초보 프로그래머의 삶에서 항상 중요한 단계이다.

 

Les algorithmes de tri et leur complexité font parti des grands classiques des entretiens d’embauche. C’est donc l’occasion rêvée pour vous pencher sérieusement sur la question car soyez certains que cela vous sera demandé.

분류 알고리즘과 그 복잡성은 면접의 주요 고전 중 하나이다. 따라서 이것이 당신에게 요구될 것이라는 확신을 가지기 때문에 이 문제를 진지하게 고려할 수 있는 절호의 기회이다.

 

Les objectifs de ce projet sont la rigueur, la pratique du C et l’usage d’algorithmes élémentaire. En particulier, la complexité de ces algorithmes élémentaire.

이 프로젝트의 목표는 엄격함, C의 실천, 그리고 기본적인 알고리즘의 사용이다. 특히, 이러한 기본 알고리즘의 복잡성을 이해하는 것이다.

 

Trier des valeurs c’est simple. Les trier le plus vite possible, c’est moins simple vu que, d’une configuration des entiers à trier à une autre, un même algorithme de tri n’est pas forcément le plus efficace...

값을 정렬하는 것은 간단하다. 가능한 한 빨리 정렬하는 것은 덜 간단하다. 왜냐하면 한 정수의 구성부터 다른 정수의 구성까지, 동일한 정렬 알고리즘이 반드시 가장 효과적인 것은 아니기 때문이다.

 

Chapitre II

Règles communes : 공통의 원칙

• Votre projet doit être écrit en C.

당신의 프로젝트는 C로 써야 합니다.


• Votre projet doit être codé à la Norme. Si vous avez des fichiers ou fonctions bonus, celle-ci seront inclues dans la vérification de la norme et vous aurez 0 au projet en cas de faute de norme.

당신의 프로젝트는 표준(Norme)에 따라 코딩되어야 합니다. 보너스 파일이나 기능이 있는 경우 표준 검증에 포함되며 표준 결함이 있는 경우 프로젝트에서 0이 됩니다.


• Vos fonctions de doivent pas s’arrêter de manière inattendue (segmentation fault, bus error, double free, etc) mis à part dans le cas d’un comportement indéfini. Si cela arrive, votre projet sera considéré non fonctionnel et vous aurez 0 au projet.

정의되지 않은 동작의 경우를 제외하고 기능이 예기치 않게 중지되지 않아야 합니다(세그먼트 오류, 버스 오류, 이중 해제 등). 이런 일이 발생하면 프로젝트가 작동하지 않는 것으로 간주되어 프로젝트에 0이 됩니다.


• Toute mémoire allouée sur la heap doit être libéré lorsque c’est nécessaire. Aucun leak ne sera toléré.

힙에 할당된 모든 메모리는 필요할 때 해제되어야 합니다. 누출은 허용되지 않습니다.


• Si le projet le demande, vous devez rendre un Makefile qui compilera vos sources pour créer la sortie demandée, en utilisant les flags -Wall, -Wextra et -Werror. Votre Makefile ne doit pas relink.

프로젝트에 필요한 경우 -Wall, -Wextra 및 -Werror 플래그를 사용하여 소스를 컴파일하여 요청된 출력을 생성하는 Makefile을 렌더링해야 합니다. Makefile은 다시 연결하면 안 됩니다.


• Si le projet demande un Makefile, votre Makefile doit au minimum contenir les règles $(NAME), all, clean, fclean et re.

프로젝트에 Makefile이 필요한 경우 Makefile에는 적어도 $(NAME), all, clean, fclean 및 re 규칙이 포함되어야 합니다.


• Pour rendre des bonus, vous devez inclure une règle bonus à votre Makefile qui ajoutera les divers headers, librairies ou fonctions qui ne sont pas autorisées dans la partie principale du projet. Les bonus doivent être dans un fichier différent : _bonus.c/h}. L’évaluation de la partie obligatoire et de la partie bonus sont faites séparément.

보너스를 렌더링 하려면 프로젝트의 주요 부분에서 허용되지 않는 다양한 헤더, 라이브러리 또는 기능을 추가하는 보너스 규칙을 Makefile에 포함해야 합니다. 보너스는 다른 파일에 있어야 합니다: _bonus.c/h}. 필수 부분과 보너스 부분의 평가는 별도로 이루어집니다.


• Si le projet autorise votre libft, vous devez copier ses sources et son Makefile associé dans un dossier libft contenu à la racine. Le Makefile de votre projet doit compiler la librairie à l’aide de son Makefile, puis compiler le projet.

프로젝트가 libft를 인증하는 경우 해당 소스 및 관련 Makefile을 루트에 포함된 libft 폴더에 복사해야 합니다. 프로젝트의 Makefile은 해당 Makefile을 사용하여 라이브러리를 컴파일한 다음 프로젝트를 컴파일해야 합니다.


• Nous vous recommandons de créer des programmes de test pour votre projet, bien que ce travail ne sera pas rendu ni noté. Cela vous donnera une chance de tester facilement votre travail ainsi que celui de vos pairs.

이 작업은 반환되거나 채점되지 않지만 프로젝트에 대한 테스트 프로그램을 만드는 것이 좋습니다. 이것은 당신의 작업과 동료의 작업을 쉽게 테스트할 수 있는 기회를 제공할 것입니다.


• Vous devez rendre votre travail sur le git qui vous est assigné. Seul le travail déposé sur git sera évalué. Si Deepthought doit corriger votre travail, cela sera fait à la fin des peer-valuations. Si une erreur se produit pendant l’évaluation Deepthought, celle-ci s’arrête.

본인에게 할당된 git에 대한 작업을 제출해야 합니다. git에 업로드된 작업만 평가됩니다. Deepthought에서 작업을 수정해야 하는 경우 동료 평가가 끝날 때 완료됩니다. Deepthought 평가 중에 오류가 발생하면 평가가 중지됩니다.

728x90

'42 > push_swap' 카테고리의 다른 글

[push_swap] 프로그램 규칙  (0) 2023.01.17
[push_swap] 규칙 파헤치기 (sa, sb, pa, pb, ra, rb, rra, rrb)  (0) 2023.01.17
Comments