4

백준 2164번 카드2 파이썬

https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 내 답안 from collections import deque import sys N = int(sys.stdin.readline().rstrip()) q = deque([i for i in range(1, N + 1)]) while (len(q) != 1): q.popleft() if len(q) == 1: break else: q.append(q.popleft()) print(q[0]) 파이썬..

BOJ/Python 2022.03.25

백준 11866번 요세푸스 문제 0 파이썬

https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 내 답안 from collections import deque N, K = map(int, input().split()) q= deque([i for i in range(1, N + 1)]) print('') queue 의 맨 앞에 있는 원소를 k-1번 뒤로 보내는걸 반복해준다. 그리고 k번째에 popleft() 를 통해 그 원소를 삭제해주고 바로 문자열로 출력해주는 프로그램을 짰다. 쉽게 보여준다면 deque([1, 2, 3, 4, 5, 6, 7]) deque([2, 3, 4, ..

BOJ/Python 2022.03.13

백준 13417번 카드문자열 파이썬

https://www.acmicpc.net/problem/13417 13417번: 카드 문자열 입력 데이터는 표준 입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫째 줄에 테스트 케이스의 개수를 나타내는 자연수 T가 주어진다. 각각의 테스트 케이스의 첫째 줄에 처 www.acmicpc.net 내 답안 from collections import deque for _ in range(int(input())): N = int(input()) card = input().split() q = deque() q.append(card[0]) st = card[0] # 기준 for i in range(1, len(card)): if st >= card[i]: q.appendleft(card[i]) ..

BOJ/Python 2022.03.09

백준 10866번 덱 파이썬

https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net import sys from collections import deque d = deque() for i in range(int(sys.stdin.readline())): x = sys.stdin.readline().split() if x[0] == "push_back": d.append(x[1]) elif x[0] == "push_front": d.appendleft(x[1]) ..

BOJ/Python 2022.01.11