일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- graph
- Cleancode
- 생활코딩
- BFS
- String
- JavaScript
- 종만북
- 따라하면서 배우는 C언어
- sorting
- Math
- BOJ
- php
- 따라하며 배우는 C언어
- 따배씨
- 백준
- C
- DP
- Algospot
- Python
- 정수론
- dfs
- udemy
- programmers
- 인프런
- Algorithm
- greedy
- BASIC
- web
- server
- C언어
- Today
- Total
목록queue (6)
몽상실현개발주의
[종만북] Queue, Stack, Deque / 큐와 스택, 데크 큐와 스택, 데크 Queue 큐 한쪽 끝에서 자료를 넣고 반대 쪽 끝에서 자료를 꺼낼 수 있다. 가장 먼저 들어간 자료를 가장 먼저 꺼내게 된다. FIFO (First In First Out) 선입선출 Stack 스택 한쪽 끝에서만 자료를 넣고 뺄 수 있다. 가장 늦게 들어간 자료를 가장 먼저 꺼내게 된다. LIFO (Last In First Out) 후입 선출 전산학 전반에 걸쳐 널리 사용된다. 함수 호출이 끝나고 이전 함수로 돌아갈 때, 이 함수 바로 이전의 함수로 돌아가야 하는데 컴퓨터는 내부적으로 스택(Stack)을 사용하여 함수들의 문백(context)를 관리한다. Deque 데크 양쪽 끝에서 자료들을 넣고 뺄 수 있는 자료 구..
[BOJ] 5014 / 스타트링크 / Python 파이썬 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 풀이 최단거리 구하기 문제로 BFS를 사용하여 풀었다. 처음의 시도에서는 시간초과가 계속 발생 하였는데, 이것은 queue 에 추가하기 전에 visited check 를 하는것으로 해결하였다. queue 에서 꺼낼때 visited check 를 하는것이 경우의 수가 더 많기 때문이었다. ※ 전혀 고려하지 못하였던 부분이라 새롭게 공부하게 되었다. fro..
[알고리즘 기초] 06_Queue / Python Queue Queue 의 특성 스택과 마찬가지로 삽입과 삭제의 위치가 제한적인 자료구조 큐의 뒤에서는 삽입만 하고, 큐의 앞에서는 삭제만 이루어지는 구조 선입선출구조 (FIFO : First In First Out) 큐에 삽입한 순서대로 원소가 저장되어, 가장 먼저 삽입된 원소는 가장 먼저 삭제 된다. 큐의 기본 연산 삽입 : enQueue() ( Queue의 Rear 동작 ) 삭제 : deQueue() ( Queue의 Front 동작) 생성 : createQueue() 공백 확인 : isEmpty() 포화 확인 : isFull() 삭제 없이 원소 반환 : Qpeek() 1. 선형 큐 1차원 배열을 이용한 큐 큐의 크기 = 배열의 크기 front : 저장..
[BOJ] 10430 / 나머지 / Python 파이썬 https://www.acmicpc.net/problem/10430 10430번: 나머지 첫째 줄에 A, B, C가 순서대로 주어진다. (2 ≤ A, B, C ≤ 10000) www.acmicpc.net 풀이 아주아주 가단한 사칙연산 문제이다. A, B, C = map(int, input().split()) print((A+B)%C) print(((A%C) + (B%C))%C) print((A*B)%C) print(((A%C) * (B%C))%C)
[BOJ] 1158 / 요세푸스 문제 / Python 파이썬 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 풀이 Circular Queue(원형 큐) 를 구현하는 문제이다. Python 에서 Circular Queue 는 deque 의 rotate() method 를 활용하면 쉽게 구현이 가능하다. rotate(N) 은 N 만큼 deque 객체를 회전 시켜준다. N 이 양수이면 오른쪽으로 회전, N 이 음수이면 오른쪽으로 회전 ex) [1, 2, 3].rotate(1) -> [2, 3, 1] 문제의 풀인은 원형 큐를 index 를 순..
[BOJ] 10845 / 큐 / Python 파이썬 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 Queue 자료구조의 동작을 구현하는 문제이다. import sys N = int(sys.stdin.readline()) queue = [] for _ in range(N): order = sys.stdin.readline().split() if order[0] == 'push': queue.append(int(order[1..