반응형 스택5 [Python] 백준 25556: 포스택 solved.ac 기준 Gold 5문제입력출력포닉스가 순열을 청소할 수 있으면 YES, 불가능하다면 NO를 출력한다.예제 입력 1104 3 6 7 8 9 10 2 1 5예제 출력 1YES예제 입력 255 4 3 2 1예제 출력 2NO 정답 코드N = int(input())arr = list(map(int, input().split()))stack = [[], [], [], []]result = 'YES'for i in range(N): num = arr[i] is_appended = False for j in range(4): if not stack[j] or stack[j][-1] 스택의 원리를 적절하게 사용할 수 있어야 한다. 순열을 앞에서 부터 탐색하면서, 탐색한 정.. 2024. 8. 3. 2. 스택 (Stack) 스택이란? 후입선출(Last In First Out / LIFO) 특성을 가지는 선형 자료 구조이다. 구조가 간단하고 후입선출이라는 특성을 이용해 각종 알고리즘과 로직, 메모리에 사용된다. 예를 들어보자면, ctrl + z를 누르면 실행되는 '되돌리기'가 스택의 예이다. 가장 나중에 들어온 작업이 가장 먼저 나오는 방식이다. 스택의 연산기능명칭시간복잡도삽입pushO(1)삭제 및 반환popO(1)상단 값 조회topO(1) 스택의 모든 연산은 상수시간의 시간복잡도를 가지고 있다. 하지만 이는 장단점을 가지기 마련이다. 스택의 장점 1. 매우 간단하다. 배열과 더불어 간단한 구조, 배열보다 훨씬 간단한 연산과 규칙으로 구현과 사용이 매우 쉽다. 배열과 별도의 변수를 이용해 구현할 수 있고, 연결리스트로도 손.. 2024. 6. 28. 0. 자료구조란? 자료구조? 자료구조(Data Structure)는 데이터를 효율적으로 관리할 수 있도록 만든 데이터의 구조를 말한다. 데이터의 효율적인 접근과 변경을 위한 방법이기 때문에 알고리즘을 배우기 전에 무조건적으로 선행하여 학습해야하는 컴퓨터 과학 학문이다. 메모리는 1차원 구조이기 때문에, 세상 속에 존재하는 다차원 구조의 데이터를 메모리에 맞게 1차원으로 표현하는 방법을 학습한다. 데이터의 저장과 접근을 효율적으로 하기 위해서 자료구조는 매우 중요하다. 적절한 구조를 사용하면 알고리즘의 성능을 크게 향상시킬 수 있으며, 잘못된 구조를 선택하면 프로그램의 성능이 저하될 수 있다. 따라서 자료구조를 깊이 이해하고 상황에 맞게 활용하는 능력은 모든 소프트웨어 개발자에게 필수적이다. 예를 들어, 데이터 검색이 빈.. 2024. 6. 26. [C] 배열 기반 스택 (array stack) 배열로 만든 스택은 연결리스트에 비해 매우 간단해서 좋다. 그래서 빠르게 코딩을 해야할 때 자주 사용한다. 하지만 C++에는 stack 헤더가 있다. 배열로 구현할 때의 장점은 연결리스트에 비해 메모리를 아낄 수 있다는 점, 그리고 구조가 간단하다..! 제한을 걸어놓은 과제나 문제를 풀 때 용이하다. 단점은 크기가 제한되어 있다는 것. 하지만 realloc이 있다면? 연결리스트로 구현했던 코드와 다른 점은 실행하고 명령어 입력 전에 스택의 크기를 먼저 입력한다. 명령어 push N -> 정수 N을 push한다 pop -> 스택을 pop하고 그 값을 출력한다. 스택이 비어있으면 Stack Empty 출력 size -> 스택의 크기를 출력한다. top -> top에 위치한 값을 출력한다. 스택이 비어있으면 .. 2018. 7. 10. [C] 단일연결리스트 기반 스택 (single linked list stack) C로 스택을 구현할 때 가장 많이 쓰는 자료구조중 하나가 연결리스트이다. 크기에 제한없이 스택을 사용할 수 있다는 장점이 있으나 메모리 측면에서 배열을 이용했을 때보다 비효율적이다. 연결리스트에 있는 모든 노드에는 항상 자기 이외의 노드를 가리키는 포인터 변수가 1개 이상 존재하기 때문이다. 본 프로그램 코드는 단일 연결리스트 기반으로 만든 스택을 사용자가 직접 이용할 수 있게 만든 것이다. 스택에 들어갈 수 있는 값은 하나의 정수이다. 명령어 push N -> 정수 N을 push한다 pop -> 스택을 pop하고 그 값을 출력한다. 스택이 비어있으면 Stack Empty 출력 size -> 스택의 크기를 출력한다. top -> top에 위치한 값을 출력한다. 스택이 비어있으면 Stack Empty 출력.. 2018. 7. 9. 이전 1 다음 반응형