BOJ

개발공부/algorithm

[BOJ] [Python] 백준 자료구조 Stack - 1406: 에디터

문제: 1406-에디터 백준 1406 자료구조 Silver III 문제링크 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수� www.acmicpc.net 접근 이 문제는 풀기 전에 접근 방식을 엄청 고민했던 것 같다. 명령어들이 굉장히 직관적이기 때문에 그냥 list를 만들고 해당 인덱스에 insert하고 pop하는 방식으로 하면 되지 않을까? 했는데 시간 제한이 0.3초여서 시간 초과가 발생할 것 같아 스택을 사용하는 방법을 택했다. *insert와 pop은 O(n)의 시간 복잡도를 갖기 때문에 느린 편이다! *stack과 queue에서..

개발공부/algorithm

[BOJ] [Python] 백준 자료구조 Deque - 2164: 카드2

문제: 2164: Zero 백준 2164 자료구조 Silver IV 문제링크 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 첫 시도: 시간초과 1~N 까지의 수를 스택에 append 한다. for loop이 한번 돌 때 스택의 가장 위의 원소를 pop해주고 그 다음 원소의 인덱스를 재설정 해준다. 스택의 가장 밑에 위치하도록 원소의 인덱스를 재설정해주고 그에 따라 다른 원소들의 인덱스 역시 재설정 해준다. 스택의 가장 하위에 새로운 원소를 추가하는 것이 어려워 애초에 스택에 입력 값을 역순으로 넣어주었다. ..

개발공부/algorithm

[BOJ] [Python] 백준 자료구조 - 10773: 제로

문제: 10773: Zero 백준 10733 자료구조 Silver IV 문제링크 10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 접근 기본 스택 자료구조를 사용하면 쉽게 풀 수 있는 문제다. 입력 값에 0이 들어오면 stack.pop, 아니면 append를 해주면 된다. (이런 쉬운 문제만 계속 나왔으면 좋겠다 ㅎㅎ) 내 코드 T = int(input()) stack = [] for i in range(T): N = int(input()) if N != 0: stack.appe..

so.py
'BOJ' 태그의 글 목록 (7 Page)