https://www.acmicpc.net/problem/10816
10816번: 숫자 카드 2
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
근성없이 빠르게 검색해서 다른 사람의 코드를 참고했다,,
lower bound와 upper bound를 사용하는 풀이인데, 정말 괜찮은 방법 같다. 이분 탐색을 진행할 때 같은 원소가 여러 개 있을 경우, 해당 원소들중 가장 오른쪽의 값이나 왼쪽의 값을 선택할 수 있는 방법인데, 이 문제에서는 오른쪽의 값과 왼쪽 값의 차이를 이용해서 해당 카드의 개수를 구한다.
카드가 0장일때만 주의하여 문제를 해결하자.
'알고리즘 문제' 카테고리의 다른 글
[C/C++ 백준 12865번] 평범한 배낭 (Gold 5) (0) | 2020.08.22 |
---|---|
[C/C++ 백준 1915번] 가장 큰 정사각형 (Gold 5) (0) | 2020.08.22 |
[C/C++ 백준 11651번] 좌표 정렬하기 2 (Silver 5) (0) | 2020.08.20 |
[C/C++ 백준 15829번] Hashing (Bronze 2) (0) | 2020.08.20 |
[C/C++ 백준 10814번] 나이순 정렬 (Silver 5) (0) | 2020.08.20 |