본문 바로가기
Develop/etc

[C++] 람다식 (feat. 2887 행성 터널)

by 독서왕뼝아리 2023. 5. 20.

https://www.acmicpc.net/problem/2887

 

2887번: 행성 터널

첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나 같은 정수이다. 한 위치에 행성이 두 개 이

www.acmicpc.net

해당 문제를 풀면서 정렬을 세 번 수행해야 하는데 C++로 람다식 어떻게 쓰나 찾아보고 쓴다.

 

 

>>> 행성터널 풀이

2023.05.22 - [Computer Science/Problem Solving] - [백준] 2887번: 행성 터널 | C++

 

[백준] 2887번: 행성 터널 | C++

https://www.acmicpc.net/problem/2887 2887번: 행성 터널첫째 줄에 행성의 개수 N이 주어진다. (1 ≤ N ≤ 100,000) 다음 N개 줄에는 각 행성의 x, y, z좌표가 주어진다. 좌표는 -109보다 크거나 같고, 109보다 작거나

oozoowos.tistory.com

 

 

sort(planet.begin(), planet.end(), 
    [] (tuple<int,int,int,int> a,tuple<int,int,int,int> b) 
        -> bool {return get<0>(a) < get<0>(b);
    }
);

 

C++의 람다식은 6가지 부분으로 나눠진다.

  1. capture 절 (C++ 사양의 람다 소개자 라고도 함)
  2. 매개 변수 목록 선택적. ( 람다 선언자라고도 함)
  3. 변경 가능한 사양 선택적.
  4. exception-specification 선택적.
  5. trailing-return-type 선택적.
  6. 람다 본문.

 

그만 알아보자... 정직하게 메서드 만들어서 사용하겠다.

 

 

 

 

https://learn.microsoft.com/ko-kr/cpp/cpp/lambda-expressions-in-cpp?view=msvc-170 

 

C++ 람다 식

자세한 정보: C++의 람다 식

learn.microsoft.com