본문 바로가기

algorithm

(198)
[BOJ] 2108번 통계학 (C++) https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net #include #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, num, sum = 0; cin >> n; int number[8001] = {0, }; vector v; for(int i = 0; i > num; v.push_bac..
[BOJ] 15702번 중간고사 채점 (C++) https://www.acmicpc.net/problem/15702 15702번: 중간고사 채점 이번 중간고사에는 총 N문제가 나왔고, 응시한 사람의 수는 M명이다. 각 문제의 배점과 각 사람의 결과가 주어졌을 때, 가장 높은 점수를 획득한 사람을 구하는 프로그램을 작성하시오. www.acmicpc.net #include #include #include using namespace std; bool compare(pair& front, pair& back) { if (front.second back.second; else if (front.second == back.second) return front.first < back.first; ..
[BOJ] 1018번 체스판 다시 칠하기 (C++) https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net #include using namespace std; char arr[51][51]; char white_arr[8][8] = { 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','B','W', 'W','B','W','B','W','B','W','B', 'B','W','B','W','B','W','B','W', 'W','B','W','B..
[BOJ] 10816번 숫자 카드 2 (C++) https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, m, k; cin >> n; vector v; for(int i = 0; i > k; v.push_back(k); } sort(v.beg..
[BOJ] 11899번 괄호 끼워넣기 (C++) https://www.acmicpc.net/problem/11899 11899번: 괄호 끼워넣기 첫 번째 줄에 S를 올바른 괄호열으로 만들기 위해 앞과 뒤에 붙여야 할 괄호의 최소 개수를 출력합니다. 불가능한 경우는 주어지지 않습니다. www.acmicpc.net #include #include #include using namespace std; int main() { stack s; stack t; string str; cin >> str; for(int i = 0; i < str.length(); i++){ char c = str[i]; if(c == '('){ s.push(str[i]); } else { if(!s.empty()) s.pop(); else t.push(str[i]); } } cou..
[BOJ] 9012번 괄호 (C++) https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net #include #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; for(int i = 0; i > str; bool check = true; for(..
[BOJ] 11866번 요세푸스 문제 0 (C++) https://www.acmicpc.net/problem/11866 11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, k; cin >> n >> k; queue q; for(int i = 1; i
[BOJ] 2623번 음악프로그램 (C++) https://www.acmicpc.net/problem/2623 2623번: 음악프로그램 첫째 줄에는 가수의 수 N과 보조 PD의 수 M이 주어진다. 가수는 번호 1, 2,…,N 으로 표시한다. 둘째 줄부터 각 보조 PD가 정한 순서들이 한 줄에 하나씩 나온다. 각 줄의 맨 앞에는 보조 PD가 담당한 www.acmicpc.net #include #include #include #define MAX 1001 using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, m, a, b, indegree[MAX], result[MAX]; vector v[MAX]; queue q; cin >> n >> m; for(int..