본문 바로가기
728x90
반응형

실버311

[백준/Python] 1966 프린터 큐 문제: https://www.acmicpc.net/problem/1966  사용 알고리즘: 큐  입력첫 줄에 테스트케이스 수각 테스트케이스별로첫 줄에는 N (1 두번째 줄에는 N 개의 문서의 중요도가 차례로 주어짐 (1 이상 9 이하의 정수, 같은 중요도가 있을 수 있음) 규칙1. 현재 큐의 맨 앞에 있는 문서의 중요도를 확인2. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 큐의 가장 뒤에 배치하고 그렇지 않다면 바로 인쇄  전체 코드from collections import dequeimport sysinput = sys.stdin.readlineT = int(input()) # 테스트케이스 수for _ in range(T): N, M = map.. 2024. 8. 8.
[백준/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] 2346 풍선 터뜨리기 문제: https://www.acmicpc.net/problem/2346  사용 알고리즘: 덱  입력첫째 줄에 자연수 N (1 둘째 줄에는 차례로 각 풍선 안의 종이에 적혀 있는 수가 주어짐 (종이에 0은 적혀있지 않음) 구현 로직1. 가장 먼저 1번 풍선을 터트려서 종이에 적힌 숫자 만큼 이동2. 도착한 곳의 풍선을 터트려 종이에 적힌 숫자만큼 이동3. 풍선이 다 터질 때까지 2를 반복  아래 그림처럼 원형으로 놓인 풍선을 일자로 핀다고 생각하면 된다.나는 덱의 0번째 인덱스를 기준점으로 잡고 숫자를 돌리다가 이 자리에 온 숫자를 pop 할 것이다.   풍선 안에 적힌 종이에는 0을 제외하고 -N 이상 N 이하의 정수가 적혀있는데, 도는 방향이 다르기 때문에 음수와 양수일 경우를 나눠서 처리해야 한다... 2024. 8. 1.
[백준/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
반응형