BOJ206 [BOJ]10816번: 숫자 카드 2 (c++) https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 방법 1: 이분탐색 #include #include #include using namespace std; // target과 동일한 값을 가지는 요소 중 가장 첫번째 인덱스 구하기 int lower_bound(vector &cards, int left, int right, int target) { int min_idx = -1; while (left N; vect.. 2020. 7. 7. [BOJ]10815번: 숫자 카드 (c++) https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 이분탐색 #include #include #include using namespace std; bool binary_search(vector& cards, int left, int right, int target) { // 찾는 값이 없는 경우 if (left > right) { return false; } int mid = (left + right) / 2; int.. 2020. 7. 7. [BOJ]1790번: 수 이어 쓰기 2 (c++) https://www.acmicpc.net/problem/1790 1790번: 수 이어 쓰기 2 첫째 줄에 N(1 ≤ N ≤ 100,000,000)과, k(1 ≤ k ≤ 1,000,000,000)가 주어진다. N과 k 사이에는 공백이 하나 이상 있다. www.acmicpc.net 이분탐색 #include #include using namespace std; // 1부터 N까지 수를 이어붙인 길이 구하기 long long cal_length(int N) { long long len = 0; for (int start = 1, i = 1; start N) { end = N; } len += (long long)(end - start + 1) * i; } return len; } int binary_searc.. 2020. 7. 7. [BOJ]1377번: 버블 소트 (c++) https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 정렬, O(N) #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // 입력 int N; cin >> N; vector v(N); for (int i = 0; i < N; ++i) { // 입력된 순서 저장 v[i].s.. 2020. 7. 7. 이전 1 ··· 3 4 5 6 7 8 9 ··· 52 다음