본문 바로가기
728x90
반응형

Stack4

[백준/Python] 1874 스택 수열 문제: https://www.acmicpc.net/problem/1874  사용 알고리즘: 스택  입력첫 줄에 n (1 둘째 줄부터 n 개의 줄에는 수열을 이루는 1 이상 n 이하의 정수가 하나씩 순서대로 출력됨. (같은 정수 2번 나옴x)  1 부터 n 까지의 숫자를 스택에 넣고 빼면서 입력으로 주어진 수열을 만드는 문제단, 스택에 숫자를 넣을 때는 무조건 오름차순으로 넣어야 함 -> 1 부터 n 까지 차례로 넣어야 함  1. 스택에 숫자를 넣고 빼면서 주어진 수열을 만들 수 있는 경우스택에 숫자를 넣을 때는 '+' 출력스택에서 숫자를 뺄 때는 '-' 출력2. 스택에 숫자를 넣고 빼면서 주어진 수열을 만들 수 없는 경우에는 'NO' 출력  수열 만들기 파이썬은 스택 자료구조를 제공하지 않음! -> 만들.. 2024. 7. 26.
[백준/Python] 10773 제로 문제: https://www.acmicpc.net/problem/10773  사용 알고리즘: 스택  생각보다 너무너무 쉬웠던 문제!같은 티어의 dp, dfs 문제들이 훨씬 어려웠던 느낌이다.  입력첫 번째 줄에 정수 K (1 이후 K 개의 정수가 주어짐 K 개의 정수가 주어졌을 때 0 이라는 정수가 나오면 바로 직전에 나왔던 정수를 지우면 된다. 그래서 마지막에 남아있는 수들을 모두 더해서 결과를 내면 되는 간단한 문제 0을 만났을 때 가장 최근의 수를 지우면 된다? -> 바로 스택을 떠올렸다스택은 LIFO(Last In First Out)으로 가장 마지막에 들어온 놈이 가장 먼저 나가는 자료구조 파이썬에서는 스택 자료구조를 따로 제공하지 않기 때문에 스택을 구현하기만 하면 아주 쉽게 풀 수 있는 문제다.. 2024. 7. 24.
[프로그래머스/python] 뒤에 있는 큰 수 찾기 문제: https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr  사용 자료구조: 스택  사실 문제의 답을 내는 논리 자체는 너무 쉬워서 이게 왜 Lv. 2 ? 라고 생각했지만.. 23 개의 테스트케이스 중에 11번까지 통과되고 나머지는 시간초과가 떴다.  이중 for 문을 사용하기 때문에 시간 복잡도가 O(n^2) 이 되기 때문에 n 값이 커질수록 실행시간이 길어져 시간 초과가 발생한 것이다.   시간초과코드def findLargerThenMe(cur,.. 2024. 5. 31.
스택(stack), 큐(queue) 스택 (stack)데이터 값을 저장하는 기본적인 구조로 일차원의 선형 (linear) 자료구조(배열/리스트와 유사하게) 값을 저장하는 연산과 저장된 값을 꺼내는 연산이 제공됨but 매우 제한적인 규칙: LIFO (Last In First Out) -> 가장 최근에 저장된 값이 가장 먼저 나감stack 용어Top: 스택에 가장 최근에 넣은, 스택의 맨 위에 있는 데이터Push: 스택에 데이터를 넣는 행위Pop: 스택의 맨 위에 있는 데이터를 삭제하는 행위empty/full: 스택에 데이터가 꽉 찼는지, 스택에 데이터가 없는지 확인size(len): 스택에 들어있는 데이터의 개수 리턴stack 시간 복잡도 (Big-O 시간)삽입: O(1)삭제: O(1)검색: O(N) # stack 구현class Stack.. 2024. 1. 10.
728x90
반응형