Queue는 컴퓨터 과학에서 중요한 선입선출 자료구조 중 하나이다. 사실 큐의 일상 예시로 설명해 보면, 줄을 서는 개념과 비슷하다. 맛있는 마카롱 집을 가기 위해 줄을 선다고 해보자. 이 경우 먼저 줄을 선 사람이 먼저 마카롱을 사고, 나중에 온 사람이 나중에 마카롱을 사는 것과 같은 원리라고 할 수 있다. 이러한 Quere를 간단한 개념부터 시작해서, 선형 큐(Linear Queue) 원형 큐(Circlar Queue) 등등의 여러 방법으로 구현해 보자. 큐(Queue) 큐는 선입선출(FIFO : First-In-First-Out) 구조의 자료구조로 먼저 넣은 데이터를 먼저 꺼낸다. 이때, 먼저 데이터를 추가하는 작업을 인큐(enqueue)라고 하고, 데이터를 꺼내는 작업을 디큐(dequeue)라고 ..
문제의 저작권은 SW Expert Academy에 있습니다. 자연수 N에 몇 번의 연산을 통해 다른 자연수 M을 만들려고 한다. 사용할 수 있는 연산이 +1, -1, *2, -10 네 가지라고 할 때 최소 몇 번의 연산을 거쳐야 하는지 알아내는 프로그램을 만드시오. 단, 연산의 중간 결과도 항상 백만 이하의 자연수여야 한다. 예를 들어 N=2, M=7인 경우, (2+1) *2 +1 = 7이므로 최소 3번의 연산이 필요한다. [입력] 첫 줄에 테스트 케이스의 개수가 주어지고, 다음 줄부터 테스트 케이스 별로 첫 줄에 N과 M이 주어진다. 1
python 으로 BFS 문제 풀기 우선 코드부터 보고 아래에 설명을 하겠다. 어느 정도 이해도가 있는사람은 윗부분 핵심만 보면된다. 코드 작성 전에 import로 collections를 불러오자. 그 이유는 알고리즘/queue 부분 참고. import collentions han-py.tistory.com/31 Queue문제를 python으로 접근하는 세가지 방법 0. 들어가면서 queue의 기본개념은 다음을 참고하자. han-py.tistory.com/29 Queue 큐(Queue) - 선형큐 - 원형큐 - 연결큐 - 우선순위큐 기본적으로 앞부분은 개념 설명을 진행합니다. 초반부는 개념부분이라 han-py.tistory.com 아래의 여러개의 코드를 비교해보자. 코드 설명은 한참 아래에 있다. 기본 ..
0. 들어가면서 queue의 기본개념은 다음을 참고하자. han-py.tistory.com/29 Queue 큐(Queue) - 선형큐 - 원형큐 - 연결큐 - 우선순위큐 기본적으로 앞부분은 개념 설명을 진행합니다. 초반부는 개념부분이라 상관없지만 C나 java쓰시는 분들은 linked list를 쓰는데 여기선 python이라 쓰 han-py.tistory.com 세가지 방법 append와 pop을 이용한다. rear과 front를 이용한다. Queue 라이브러리 이용한다. append와 pop 이용 그냥 쉽게 말해서 python의 list 매소드를을 이용하는것이다. 문제에 맞게 넣을 때는 append를 이용하고 뺄 때는 pop을 이용한다. rear과 front 이용 이 부분은 리스트의 크기를 정해 놓고 ..
문제의 저작권은 SW Expert Academy에 있습니다. import collections TC = int(input()) for tc in range(1, TC+1): N, M = map(int, input().split()) data = list(map(int, input().split())) deq = collections.deque() for i in data: deq.append(i) while M > 0: a = deq.popleft() deq.append(a) M -= 1 print("#%d %d"%(tc, deq[0])) Queue의 매우 기본 문제다 이때 포인트는 파이썬에서는 deque를 활용해야 좀더 빠르게 풀 수 있다. queue라이브러리 같은 경우는 쓰래드 같은 복잡한 경우도 포..
- Total
- Today
- Yesterday
- Queue
- DFS
- 클라우데라
- useState
- read_csv
- Vue
- nodejs
- Python
- react autoFocus
- django
- vuejs
- UserCreationForm
- 자료구조
- next.config.js
- nextjs autoFocus
- 자연어처리
- login
- react
- NextJS
- logout
- typescript
- JavaScript
- error:0308010C:digital envelope routines::unsupported
- useHistory 안됨
- TensorFlow
- Express
- BFS
- pandas
- Deque
- mongoDB
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |