일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 별 찍기 10
- 해시 구현
- 백준 17779
- 5397
- 백준 17822
- C/C++ 구현
- 게리멘더링2
- 해시구현
- 버킷 정렬
- 백준 1158
- 백준 17471
- ㅣ풀이
- 풀이
- c#
- 백준 1406
- Stack 이란
- 구현
- 백준 2447
- AVL 시간 복잡도
- 조세퍼스 순열
- 1764
- dfs
- 시간 복잡도
- 자료구조
- 백준 5397
- 원판 돌리기
- heap
- 스택의 특징
- 백준
- qorwns
- Today
- Total
목록알고리즘 문제풀이/백준 (178)
홍시홍의 프로그래밍
https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 첫째 줄에 n(1≤n≤1,000,000), m(1≤m≤100,000)이 주어진다. m은 입력으로 주어지는 연산의 개수이다. 다음 m개의 줄에는 각각의 연산이 주어진다. 합집합은 0 a b의 형태로 입력이 주어진다. 이는 a가 포함되어 있는 집합과, b가 포함되어 있는 집합을 합친다는 의미이다. 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산은 1 a b의 형태로 입력이 주어진다. 이는 a와 b가 같은 집합에 포함되어 있는지를 확인하는 연산이다. a www.acmicpc.net 요구사항 1. Union-Find 자료 구조 기본 문제 풀이 1. 기본 구현 시간 초과 주의(입출력이 printf, puts 사용 할..
https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 순서대로 주어진다. 위치는 1보다 크거나 같고, N보다 작거나 같은 자연수이다. www.acmicpc.net 요구사항 1. 최소 연산으로 주어진 숫자를 꺼내기 풀이 1. 현재 뽑고자 하는 수가 어디에 있는지 찾기 2. 최소가 될 수 있도록 뽑는다 - size/2보다 클 경우 뒤에서 앞으로 이동 시켜주고, 아닐 경우 앞에서 뒤로 이동시킨다. 3. 정답 출력 #include using namespace std; int q[1..
https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하고자하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 요구사항 1. 주어진 수 정렬 풀이 1. str로 수가 주어진다 2. stoi로 int형으로 바꾼다 3. %연산을 이용해서 한자리씩 map에 저장후 퀵정렬 이용 #include #include #include using namespace std; typedef long long ll; int map[11]; void Quicksort(int l, int r, int arr[]) { if (l >= r) return; int i = l; int j = r; int pivot = arr[..
https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 숫자가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 요구사항 1. 수 정렬 풀이 1. 이 문제는 범위가 작으므로 정렬할 필요없이, 입력 받을때 해당 배열에 ++해주어 개수만큼 출력한다 #include using namespace std; const int MAX = 10001; int n; int arr[MAX]; void QuickSort(int left, int right, int a[]) { int i = left; int j = right; int pivot..