본문 바로가기

datastructure

(24)
[BOJ] 1021번 회전하는 큐 (C++) https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net #include #include using namespace std; int main(){ int n, m, num, index, count = 0; deque d; cin >> n >> m; for (int i = 1; i > num; for (int i = 0; i < d.size(); ++i) { if (d[i] == num) { index = i; break; } } if (index ..
[BOJ] 1874번 스택 수열 (C++) https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; int arr[100000]; for(int i = 0; i > arr..
[BOJ] 17250번 은하철도 (C++) https://www.acmicpc.net/problem/17250 17250번: 은하철도 입력 데이터가 큰 관계로, 빠른 입출력을 사용하는 것을 권장합니다. www.acmicpc.net #include using namespace std; int parent[100100]; int sum[100100]; int getParent(int x){ if(x == parent[x]) return x; return parent[x] = getParent(parent[x]); } void unionParent(int a, int b){ a = getParent(a); b = getParent(b); if(a > b){ parent[a] = b; sum[b] += sum[a]; } else{ parent[b] = ..
[BOJ] 1863번 스카이라인 쉬운거 (C++) https://www.acmicpc.net/problem/1863 1863번: 스카이라인 쉬운거 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 50,000) 다음 n개의 줄에는 왼쪽부터 스카이라인을 보아 갈 때 스카이라인의 고도가 바뀌는 지점의 좌표 x와 y가 주어진다. (1 ≤ x ≤ 1,000,000. 0 ≤ y ≤ 500,000) 첫 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n; cin >> n; vector v; for(int i = 0; i > a >> b; v.push_back(b); } stack st; int cnt = 0; fo..
[BOJ] 4949번 균형잡힌 세상 (C++) https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다 www.acmicpc.net #include #include #include using namespace std; int main() { while(true){ string str; getline(cin, str); if(str == ".") break; stack st; string ans = "yes"; for(int i = 0; i < str.length(); i++){ if(str[i] == '(..
[BOJ] 24523번 내 뒤에 나와 다른 수 (C++) https://www.acmicpc.net/problem/24523 24523번: 내 뒤에 나와 다른 수 첫째 줄에 수열 $A$의 크기 $N$이 주어진다. 둘째 줄에는 $A_1 \ A_2 \ \cdots \ A_N$이 공백으로 구분되어 주어진다. $(1 \le N \le 10^6$, $-10^9 \le A_i \le 10^9 )$ 입력으로 주어지는 모든 수는 정수이다. www.acmicpc.net #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n, num; vector v; stack s; vector res; cin >> n; ..
[BOJ] 16165번 걸그룹 마스터 준석이 (C++) https://www.acmicpc.net/problem/16165 16165번: 걸그룹 마스터 준석이 정우는 소문난 걸그룹 덕후이다. 정우의 친구 준석이도 걸그룹을 좋아하지만 이름을 잘 외우지 못한다는 문제가 있었다. 정우는 친구를 위해 걸그룹 개인과 팀의 이름을 검색하여 외우게 하는 www.acmicpc.net #include #include #include #include using namespace std; int main() { int n, m, mn, q; string group, member, name; vector v; cin >> n >> m; for(int i = 0; i > group >> mn; for(int j = 0; j < mn; j++){ cin ..
[BOJ] 11652번 카드 (C++) https://www.acmicpc.net/problem/11652 11652번: 카드 준규는 숫자 카드 N장을 가지고 있다. 숫자 카드에는 정수가 하나 적혀있는데, 적혀있는 수는 -262보다 크거나 같고, 262보다 작거나 같다. 준규가 가지고 있는 카드가 주어졌을 때, 가장 많이 가지 www.acmicpc.net #include #include #include using namespace std; int main() { int n; long long k; vector v; cin >> n; for(int i = 0; i > k; v.push_back(k); } sort(v.begin(), v.end()); int t = 0; int max = 0; long long ans..