본문 바로가기
728x90

🥇Baekjoon Solutions/정렬4

[C++] 백준 1920번: 수 찾기 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 풀이 sort를 통해 정렬되어있는 수들을 인덱스에 따라 이진탐색을 진행해 줍니다. 여기서 이진탐색을 재귀적으로 수행하게되면 시간초과가 발생하므로 whlie 루프를 활용하여 이진탐색을 진행합니다. #include #include #include using namespace std; vectorv; void BS(int s, int e, int n) {.. 2021. 9. 24.
[C++] 백준 2108번: 통계학 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 coordinate[500001]; int cnt[8001]; int main() { vectorv; int N, k, total = 0; cin >> N; for (int i = 0; i > k; total += k; v.pu.. 2021. 8. 19.
[C++] 백준 1431번: 시리얼 번호 https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 1,000보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루 www.acmicpc.net 풀이 기초적인 정렬 문제로 문자를 비교하여 정렬하는 방식을 사용합니다. 이전에 진행한 알고리즘 라이브러리의 sort 함수를 사용하여 풀이를 진행합니다. #include #include #include using namespace std; int num(char k) { if (k == '0') return 0; if (k == '1') return 1; if (k == '2') retur.. 2021. 8. 19.
[C++] 백준 1181번: 단어 정렬 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 풀이 알고리즘 라이브러리에 있는 sort함수를 사용하여 해결합니다. sort함수의 특이 형태인 비교 인자 구분 함수를 사용하여 특별 케이스 정렬을 진행합니다. #include #include #include using namespace std; bool compare(string a, string b) { if (a.size() == b.size()) return a < b;// 문자열.. 2021. 8. 19.
728x90