본문 바로가기

Algorithm

(203)
[BOJ] 2075번 N번째 큰 수 (C++) https://www.acmicpc.net/problem/2075 2075번: N번째 큰 수 첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다. www.acmicpc.net #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); priority_queue pq; int n, k; cin >> n; for(int i = 0; i > k; pq.push(-k); if(pq.size() ..
[BOJ] 24039번 2021은 무엇이 특별할까? (C++) https://www.acmicpc.net/problem/24039 24039번: 2021은 무엇이 특별할까? 백준 온라인 저지의 송년대회 Good Bye BOJ, 2021!의 개최일은 2021년 12월 31일이다. 원이는 대회가 개최된다는 사실이 기뻐 제목을 뚫어져라 보다가 2021이 무언가 특별하다는 사실을 깨달았다. 그렇 www.acmicpc.net #include #include using namespace std; bool is_prime(int num) { if (num == 2) return true; for (int i = 2; i > n; int last = 0; int i = 2; int sum; while(true){ if(is_prime(i)){ sum = last * i; if(s..
[BOJ] 7662번 이중 우선순위 큐 (C++) https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net #include #include using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n, k, num; char c; cin >> n; for(int i = 0; i > k; for(int j = 0; j > c; if(..
[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..