6-D lower_bound 질문있습니다 :)
안녕하세요 선생님 🙂
lower_bound와 관련하여 궁금한 것이 있어서 질문드립니다.
해당 문제는 lower_bound를 이용하여 A 안에 있는 요소들 중 하나를 골라서 B에 있는 요소보다 큰 경우를 누적하여 더한 후에 출력하는 문제였습니다.
문제의 결과 값에서 lower_bound의 역할을 유추해보면, 1, 2번째 파라미터에 넣는 배열의 범위에서 3번째 파라미터에 있는 요소보다 작은 요소의 개수를 출력해주는 함수라는 것을 알 수 있었습니다.
반대로 upper_bound는 작은 요소가 아닌 큰 요소의 개수를 출력해주는 함수라는 것을 알게 되었습니다.
그렇다면, 같은 요소의 개수를 출력해주는 방법도 있을 거라고 생각하는데요, 구글을 아무리 뒤져봐도 키워드 선택을 잘못해서 그러는건지.. 관련 자료를 찾을 수 없었습니다. 혹시 이런 함수가 따로 있다면 알려주시면 도움이 많이 될 것 같습니다 :)
lower_bound가 같은 경우도 처리해준다는 자료를 보긴 했는데요, 이 자료에 신뢰성이 있으려면 해당 문제에서 A와 B의 요소가 같아도 A가 B를 잡아먹을 수 있다는 조건을 만족해야 할 것 같습니다. 아래는 제가 보았던 자료의 링크입니다.
https://chanhuiseok.github.io/posts/algo-55/
답변 1
1
안녕하세요 유태님 ㅎㅎ
같은 요소의 개수를 출력해주는 방법
->
lower_bound와 upper_bound를 응용하시면 됩니다.
이렇게 하시면 됩니다.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int t, n, m;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
vector<int> a = {1, 2, 2, 2, 3};
auto i = lower_bound(a.begin(), a.end(), 2);
auto i2 = upper_bound(a.begin(), a.end(), 2);
cout << (int)(i2 - i) << "\n";
}
감사합니다.
코딩살구클럽 문의
0
3
1
코딩살구클럽 승인
0
17
2
DP 경우의 수 설명이 이해가 되지 않습니다.
0
27
2
3-F 채점 관련 질문
0
23
1
BFS, DFS 활용이 되는 상황에서의 방향성
0
26
2
코딩살구클럽 승인
0
40
2
코딩살구클럽승인
0
32
3
코딩살구클럽 승인
0
48
2
3-D 관련 질문
0
35
2
코살구 회원가입 문의
0
42
2
코살구 로그인 문제
0
65
2
3-A 문제 풀이 관련 질문
0
53
3
2-O 질문 있습니다
0
38
2
2-T 문제에 관한 질문
0
40
2
코딩 살구 클럽 접속 및 사용방법 문의
0
61
2
안녕하세요~. 현재 코살코딩클럽 사이트가 접속이 안됩니다~
0
64
2
코딩살구클럽 로그인문제
0
78
3
코딩 살구 클럽 로그인 문제
0
82
2
2-J 채점관련 질문
0
65
3
코딩 살구 클럽 Python 지원 가능 여부
0
77
1
살구클럽 아이디 없음 문제
0
76
1
1-O 코딩살구클럽 채점관련 질문
0
60
2
히든 테스트 케이스가 사라졌습니다
0
57
1
채점서버 혹시 다른 언어 지원도 가능하게 해주실 수 있나요
1
74
2





