초오오오오오짜개발자의낙서장
람다식 본문
C++11에서 람다 식(종종 람다라고 함)은 호출되었거나 인수로서 함수에 전달된 위치에서 바로 익명 함수 개체를 정의하는 편리한 방법입니다. 일반적으로 람다는 알고리즘이나 비동기 메서드에 전달되는 몇 줄의 코드를 캡슐화하는 데 사용됩니다.
그 외에 부분은 나중에 추가할 예정입니다
밑의 코드는 람다식을 활용한 백준 문제 코드입니다.
ISO C++ 표준에서는 std::sort()
함수에 세 번째 인수로 전달되는 간단한 람다를 보여 줍니다.
#include<iostream>
#include<algorithm>
using namespace std;
typedef struct set {
long long start, end;
}CONFERENCE;
CONFERENCE C[100000];
int main() {
int size;
int answer = 0;
long long end=0;
cin >> size;
for (int i = 0; i < size; i++) {
cin >> C[i].s >> C[i].e;
}
sort(C, C+size, [](CONFERENCE start, CONFERENCE end) {
return start.s < end.s;
});
sort(C, C + size, [](CONFERENCE start, CONFERENCE end) {
return start.e < end.e;
});
for (int i = 0; i < size; i++) {
if (end <= C[i].s) { end = C[i].e; answer++; }
}
cout << answer;
return 0;
}