inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

2-I

cmp 하는 부분에 대해서 궁금합니다.

165

Lim sumin

작성한 질문수 15

0

커스텀 비교함수 부분 교안을 다시 보았는데 이해가 가지 않아서 이렇게 질문 드립니다.

매개변수로 넘겨주는 a, b는 v.begin(), v.end()의 값이 들어가는 것인가요?

c++ 코딩-테스트

답변 1

0

큰돌

안녕하세요 ㅎㅎ

 

cmp함수는 비교하는 두개의 매개변수가 들어갑니다.

bool cmp(pair<int, int> a, pair<int, int> b){
	return a.first > b.first;
}  

해당 cmp를 기반으로 하는 sort()원리는 다음과 같습니다.

sort()의 원리

sort()는 각각의 요소들을  cmp함수가 true 가 뜨는 “요소들의 순서”로 바꿔줍니다.  

#include<bits/stdc++.h>
using namespace std;   
bool cmp(int a, int b){
return a < b; 

vector<int> v = {3, 10, 4, 11};
int main(){
sort(v.begin(), v.end(), cmp);
for(int i : v) cout << i << " ";
}

예를 들어 {3, 10, 4, 11}이 있다고 했을 때

10과 4는 a < b가 false이기 때문에 이를 바꿔서 4, 10으로 만들고 다른 요소들도 그런지를 확인합니다. 

이런 과정들을 반복해서 {3, 4, 10, 11}이라는 집합을 만듭니다. 즉, 모든 요소들이 a < b라는 조건식을 충족시키는 집합으로 만드는 것이죠.


 

감사합니다.

코딩살구클럽 가입이 안됩니다.

0

1

0

살구 클럽에 대한 질문있습ㄴ디ㅏ

0

24

1

교안 158페이지 문의드립니다

0

30

2

코딩살구클럽 관련 건의사항

0

68

1

코살에 19942 다이어트 문제에 N의 범위가 빠져있슴니다

0

33

1

진행 방법 질문드립니다!

0

63

2

2-I) 왜 이 문제가 그래프이론 카테고리에 있는지 잘 모르겠습니다.

0

60

2

2주차 개념#12 트리 순회

0

29

2

백준사이트가 종료된다고 합니다.

0

289

2

백준 서비스 종료

9

901

1

sk 하이닉스 코테 대비

0

372

2

3-G 최댓값 질문

0

51

1

모듈러 연산 값이 10이 아닌 경우도 있지 않나요?

0

83

2

3-I 코드 질문드립니다.

0

62

2

3-N 질문 있습니다.

0

66

2

학습방법

0

102

2

4-H 질문 있습니다 (코드 리뷰)

0

66

2

코딩테스트 어디까지 준비해야 하는지 질문이 있습니다.

0

173

2

2-O 반례가 무엇일지 어떤 부분이 틀렸는지 잘 모르겠습니다.

0

69

2

2주차 개념 #4-2. 인접행렬 질문있습니다.

0

64

2

1-A 문제풀이 후 궁금한 점이 생겨서 질문드립니다.

0

51

2

조합 재귀 풀이 확인 해주시면 감사하겠습니다.

0

68

2

함수별 시간복잡도

0

74

2

3-h 질문입니다.

0

49

1