본문 바로가기

파이썬 이론

(2)
파이썬 정렬 + 예제 문제 추천 알고리즘 문제에서 정렬은 매우 쉬운 알고리즘에 속한다. 물론 정렬을 구현하는 것은 어렵겠지만 우리는 List.sort를 통해 정렬을 해주기 때문에 문제 없다. 아래 사진은 나름 정렬을 요약정리 해본것이다. 기초적인 정렬을 알아봤으니 알고리즘 문제에서 어떻게 쓰이는지 알아보자! 이것을 이해했다면 아래 문제를 풀어보는 것을 추천한다. https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 부족한 글 봐주셔서 감사합니다. :)
파이썬 stack and deque(덱) + 예제 코드 덱은 무엇일까? 덱을 이해하려면 기존의 stack을 이해하고 있어야한다. stack은 후입선출구조를 가지고 있다. 아래 사진을 보면 단번에 이해가 갈것이다. 이제 덱을 알아보자 덱은 기존 stack에서 먼저 들어간 자료를 빼내려면 시간복잡도 O(N)을 소요해 원소를 빼내는 단점을 보완할 수 있는 자료구조이다. 따라서 리스트의 앞부분을 조작하고 싶을때 많이 사용된다. 추후 BFS문제에 필수로 사용되니 꼭 알고 넘어가자.!! stack =[0,2,1,5] 일때 stack.pop(0)을 해주면 stack의 가장 앞부분인 0이 삭제되긴 하지만 시간복잡도 O(N)을 가짐. 놀랍게도 덱을 사용하면 첫번째 원소를 빼는 작업을 O(1)만에 수행할 수 있다. 우선 덱을 사용하려면 모듈을 가져와야 한다. 사진을 통해 설명..