본문 바로가기
728x90
반응형

백준32

[백준/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] 2164 카드2 문제: https://www.acmicpc.net/problem/2164  사용 알고리즘: 덱  입력첫째 줄에 정수 N (1  N 장의 카드가 순서대로 쌓여있을 때, 카드가 한 장만 남을 때까지 아래의 동작을 반복1. 맨 위에 있는 카드 제거2. 제거되고 맨 위로 나온 카드를 맨 아래에 넣음 -> 앞뒤로 추가/제거가 가능하니 덱을 사용해 구현해야겠다  이 문제는 정말 문제대로만 구현하면 되는 간단한 문제였다.  대신 for 문을 N 회가 아닌 (N-1) 회 돌아야 한다. (덱에 카드가 1장 남았을 때 종료해야 하므로)d = deque(i for i in range(1,N+1)) # 덱에 1~N 번의 카드를 미리 넣음for i in range(1, N): d.popleft() # 맨 위 카드 제거 .. 2024. 8. 5.
[백준/Python] 11866 요세푸스 문제 0 문제: https://www.acmicpc.net/problem/11866  사용 알고리즘: 덱  입력첫째 줄에 N 과 K 가 빈 칸을 사이에 두고 순서대로 주어짐 (1   1 번부터 N 번까지 N 명의 사람이 원을 이루며 앉아있을 때, N 명의 사람이 모두 제거될 때까지 K 번째 사람을 제거해 나감.-> 앞 뒤로 추가/제거가 가능한 덱을 사용해서 원처럼 동작하도록 구현 입력이 7 3 인 경우,1 2 3 4 5 6 7 의 숫자를 가진 사람들이 원을 그리며 앉아 있을 때, 3 번째 사람을 계속해서 제거해 나가야 한다. - 1 을 제거하고 다시 뒤에 붙임 2 3 4 5 6 7 1 - 2를 제거하고 다시 뒤에 붙임3 4 5 6 7 1 2 - 3을 제거 (K = 3)4 5 6 7 1 2  for 문을 돌면서 K.. 2024. 8. 5.
[백준/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.
728x90
반응형