본문 바로가기
728x90
반응형

Python3173

2022.02.12 [백준] (python 파이썬) 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 이 문제는 1~N까지의 배열에서 K번째 데이터를 제거하고 제거한 순서대로 출력하는 문제이다. deque을 사용하여 deq배열을 -K만큼 회전시킨 다음, 배열의 마지막 데이터를 지우는 동시에 ans배열에 저장시켰다. N=6, K=3이라고 가정해보자 그러면 deq=[1, 2, 3, 4, 5, 6]이 되고 이 배열을 -K만큼 회전시키면 deq_rotate=[4, 5, 6, 1, 2, 3]이 된다. 여기서 배열의 마지막 데이터를 지우면 결과적으로 deq배열에서 3번째 데이터를 지우는 것이 .. 2022. 2. 12.
2022.02.11 [백준] (python 파이썬) 스택 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 스택은 나중에 넣은 데이터를 먼저 빼낼 수 있는 데이터 구조로 LIFO방식이다. 스택은 list[]로 이미 구현 되어있다. list에서 append를 사용하면 리스트의 뒤에 데이터가 입력되고 pop를 사용하면 리스트의 제일 뒤에 있는 데이터를 빼낼 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 import sys list = [] for _ in ra.. 2022. 2. 11.
2022.02.11 [백준] (python 파이썬) 덱 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 12345678910111213141516171819202122from collections import dequeimport sys deq=deque()for i in range(int(sys.stdin.readline())): arr=sys.stdin.readline().split() if arr[0] =='push_front': deq.appendleft(int(arr[.. 2022. 2. 11.
2022.02.11 [백준] (python 파이썬) 카드2 https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 이 문제는 덱(deque) double-ended-queue을 이용했다. deque는 선입선출 개념인 FIFO와 나중에 온 값을 먼저 처리하는 LIFO 연산도 가능하다. 즉, deque은 양방향에서 데이터를 처리할 수 있다. depue를 사용하기 위해서는 from collections import deque를 사용해야하고 deq=deque()로 초기화할 수 있다. deq=append()는 오.. 2022. 2. 11.
728x90
반응형