728x90
반응형

정렬 2

[백준][10815번][C++] 숫자 카드

https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 어느 수들이 주어지고 그 수들이 상근이가 가지고 있는 수 중 존재하는지 알아내는 문제이다. 브루트 포스로 모든 수를 비교해보고 푼다면 O(N^2)이므로 TLE가 나는 문제였다. 상근이가 가진 수들을 먼저 정렬해주고 이분탐색으로 풀면 되는 문제이다. 나는 재귀로 구간을 반반 나눈 다음에 두 구간 중 수가 포함될 가능성이 있는 구간만 재귀로 똑같이 탐색하는 함수를 구현했..

[백준][1026번][C++] 보물

https://www.acmicpc.net/problem/1026 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 길이가 같은 정수배열 A와 B의 인덱스가 같은 항끼리의 곱의 합이 최소가 되게 만드는 문제이다. 나름 문제를 어렵게 만들기위해 배열 B에 있는 수를 재배열하면 안된다고 문제에 명시해두었다. 하지만 배열 A를 마음껏 재배열 할 수 있으므로 사실 B의 순서는 아무런 의미가 없다. N이 4라고 가정하면 S = A[0]*B[0] + A[1]*B[1] + A[2]*B[2] + A[3]*B[3] 일 ..

728x90
반응형