알고리즘
-
자료구조: Dynamic Linear List 구현하기 (feat. c++)알고리즘/자료구조 2021. 4. 16. 13:43
Characteristic: - MyList class is a List array class which can size dynamically Operations: - insert - first - next - getSize #include #include using namespace std; typedef char ListElementType; class MyList { public: MyList(int lSize); void insert(const ListElementType& elem); bool first(ListElementType& elem); bool next(ListElementType& elem); int getSize(); private: int listSize; ListElementT..
-
자료구조: Linked List로 Stack 구현하기 (feat. c++)알고리즘/자료구조 2021. 4. 16. 00:33
Characteristic: - MyStack class is stack class made Linked List Operations: - push - pop - top - isEmpty #include #include using namespace std; template class MyStack { public: MyStack(); void push(StackeElementType item); StackeElementType pop(); StackeElementType top(); bool isEmpty(); private: struct Node; typedef Node* Link; struct Node { StackeElementType data; Link next; }; Link head; }; t..
-
자료구조: Array로 Stack 구현하기 (feat. c++)알고리즘/자료구조 2021. 4. 15. 17:25
Characteristic: - MyStack class is stack class made by array operations: - push - pop - top - isEmpty - isFull #include #include using namespace std; const int maxStackSize = 1000; template class MyStack { public: MyStack(); void push(StackElementType item); StackElementType pop(); StackElementType top(); bool isEmpty(); bool isFull(); private: StackElementType stackArray[maxStackSize]; int topI..
-
알고리즘: 백준 3190번 뱀 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 20. 11:06
3190번: 뱀 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임 www.acmicpc.net import sys from collections import deque read = sys.stdin.readline N = int(read()) K = int(read()) snake = [[0 for _ in range(N)] for _ in range(N)] snake[0][0] = -1 apple = [[0 for _ in range(N)] for _ in range(N)] for i in range(K): ay, ax = list(map(int, read()..
-
알고리즘: 백준 15686번 치킨 배달 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 17. 01:23
15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net import sys from collections import deque from itertools import combinations import copy read = sys.stdin.readline N, M = map(int, read().split()) country = [] chick = [] for i in range(N): country.append(list(map(int, read().split()))) for j in rang..
-
알고리즘: 백준 2211번 네트워크 복구 (feat.python)알고리즘/백준(BaekJoon) 2021. 1. 15. 15:29
2211번: 네트워크 복구 첫째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에는 회선의 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 컴퓨터와 B번 컴퓨터가 통신 시간이 C (1 ≤ C ≤ 10)인 회선으로 연결되어 있다 www.acmicpc.net import sys import heapq read = sys.stdin.readline INF = sys.maxsize N, M = map(int, read().split()) net = {i: [] for i in range(1, N+1)} for _ in range(M): A, B, C = map(int, read().split()) net[A].append([C, B]) net[B].append([C, A]) times =[[0..
-
알고리즘: 백준 10282번 해킹 (feat. python)알고리즘/백준(BaekJoon) 2021. 1. 15. 14:18
10282번: 해킹 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 www.acmicpc.net import sys import heapq INF = sys.maxsize read = sys.stdin.readline case = int(read()) def sol(): n, d, c = map(int, read().split()) depen = {i:[] for i in range(1, n+1)} for _ in range(d): a, b, s = map(int, read().split()) depen[b].append([s, a]) visit = [] hq ..
-
알고리즘: 백준 11779번 최소비용 구하기2 (feat.python)알고리즘/백준(BaekJoon) 2021. 1. 15. 13:29
11779번: 최소비용 구하기 2 첫째 줄에 도시의 개수 n(1≤n≤1,000)이 주어지고 둘째 줄에는 버스의 개수 m(1≤m≤100,000)이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스 www.acmicpc.net import sys import heapq read = sys.stdin.readline n = int(read()) m = int(read()) graph = {i:[] for i in range(1, n+1)} for _ in range(m): s, e, w = map(int, read().split()) graph[s].append([w, e]) start, end = map(int, read().split()) INF = s..