[백준] 16120 PPAP [Python]
·
알고리즘/백준
위 문제는 주어진 입력을 받았을 때 PPAP 문자열인지 아닌지 구분하는 문제입니다. 처음에 이 문제를 봤을때 if문을 여러개 해서 케이스에 맞게 구현을 시도했었는데 고려해야할 사항들도 많고 입력 값이 길어질 때의 케이스를 구현하기가 어려워서 최대한 스택을 활용해서 풀어보기로 했습니다. 먼저 예를 들어 PPPAPAP를 하나씩 나눠서 입력받는다고 가정하고 하나씩 stack에 입력합니다. stack에 입력하다가 stack을 뒤에서부터 4개를 잘랐을때 그 문자열이 PPAP일경우 PPAP를 pop해주고 p를 append해줍니다. 처음에는 stack을 앞에서부터 자를려고 시도했었다가 성립이 안되는 몇가지 반례를 발견하고 뒤에서부터 자르는걸로 방법을 바꿨습니다. from sys import stdin as s s =..
[자료구조] 스택, 큐
·
자료구조
📚스택이란? - 스택은 데이터를 임시 저장할 때 사용하는 자료구조로, 데이터의 입력과 출력 순서는 후입선출(FILO)방식이다. 데이터를 제한적으로 접근할 수 있는 구조이고, 한쪽 끝에서만 자료를 넣거나 뺄 수 있는 구조이다. - 파이썬에서 스택을 이용할 때는 별도의 라이브러리를 사용할 필요가 없어 리스트 자료형을 사용하여 스택을 구현한다. - push() 메소드는 리스트의 가장 뒤쪽에 삽입하고, pop() 메소드는 리스트의 가장 뒤쪽에서 데이터를 꺼내기 때문이다. 스택의 구조 스택은 LIFO(Last In First Out) 또는 FILO(First In Last Out)의 데이터 관리 방식을 따른다. 주요 기능으로는 push() , pop() 이 있습니다. 스택의 크기 : 스택에 쌓을 수 있는 데이터의..
yunchan^.^
'스택' 태그의 글 목록