본문 바로가기
728x90
반응형

백준34

[백준/Python] 24511 queuestack 문제: https://www.acmicpc.net/problem/24511  사용 알고리즘: 큐, 스택   입력첫째 줄에 queuestack 을 구성하는 자료구조의 개수 N (1 둘째 줄에 길이 N 의 수열 A -> Ai = 0 이면 큐, Ai = 1 이면 스택셋째 줄에 길이 N 의 수열 B, 자료구조에 들어있는 원소 (1 넷째 줄에 삽입할 수열의 길이 M (1 다섯째 줄에 queuestack 에 삽입할 원소를 담고 있는 길이 M 의 수열 C (1  일단 첫번째 시도는 시간초과로 1% 에서 바로 컷당했다.문제에서 주어진 그대로를 구현하면 바로 시간 초과가 뜬다. 틀린 코드부터 먼저 보자. 틀린 코드import sysfrom collections import dequeinput = sys.stdin.rea.. 2024. 8. 2.
[백준/Python] 9012 괄호 문제: https://www.acmicpc.net/problem/9012  사용 알고리즘: 스택  입력테스트케이스 개수 T밑으로는 T 개의 테스트케이스가 주어지며, 테스트케이스의 괄호 문자열의 길이는 2 이상 50 이하  괄호의 짝을 맞추는 문제 -> 스택 대표 문제라고 생각하면 됨  주어진 괄호 문자열을 돌면서  1. '(' 인 경우 스택에 추가2. ')' 인 경우빈 스택일 경우 짝이 안 맞으므로 answer 에 'NO' 를 기록빈 스택이 아닐 경우 스택의 맨 위의 요소 pop주어진 괄호 문자열을 다 돌고 나왔는데, 빈 스택이 아닌 경우는 짝이 안 맞는 경우이므로 answer 에 'NO' 를 기록for _ in range(n): s = deque() PS = input().rstrip() .. 2024. 7. 30.
[백준/Python] 18258 큐2 문제: https://www.acmicpc.net/problem/18258  사용 알고리즘: 큐  입력첫째 줄에 주어지는 명령의 수 N (1 둘째 줄부터 N 개의 줄에는 명령이 하나씩 주어짐. 주어지는 정수는 1 이상 100,000 이하이다.  명령은 총 6가지push X: 정수 X를 큐에 넣는 연산pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력, 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력size: 큐에 들어있는 정수의 개수를 출력empty: 큐가 비어있으면 1, 아니면 0을 출력front: 큐의 가장 앞에 있는 정수를 출력, 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력back: 큐의 가장 뒤에 있는 정수를 출력, 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력 일단.. 2024. 7. 30.
[백준/Python] 12789 도키도키 간식드리미 문제: https://www.acmicpc.net/problem/12789  사용 알고리즘: 스택  입력첫째 줄에는 승환이 앞에 서 있는 학생들의 수 N (1 승환이 앞에 서있는 모든 학생들의 번호표 (1, 2, 3, ..., N) 입력으로 주어진 학생들의 번호표를 올바른 순서로 만들 수 있는지 확인하는 문제 -> 스택을 사용해서 넣고 빼야겠다  대기번호 순서대로 간식 받게 하기stack = deque()waitingNum = 1 # 간식을 받을 차례의 대기번호for x in arr: stack.append(x) while stack and stack[-1] == waitingNum: # 빈 스택이 아니고 & 스택 맨 위랑 대기번호가 같을 때 stack.pop() wa.. 2024. 7. 28.
728x90
반응형