초오오오오오짜개발자의낙서장

람다식 본문

Programing Language/C++

람다식

코딩하는곰팅이 2018. 1. 31. 21:26

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;

}