람다 함수로 사용자 설정 정의해 정렬하기

2025. 1. 1. 13:43·공부/Code Cata

 

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

vector<string> solution(vector<string> strings, int n) 
{
    sort(strings.begin(), strings.end(), [n](const string& a, const string& b) {
        if(a[n] == b[n])
        {
            return a < b;
        }
        return a[n] < b[n];
    });
    
    return strings;
}

비교할 인덱스 값 n을 capture해서 람다 함수로 넘겨주어 두 인덱스의 값이 같다면 사전순으로 정렬하고, 같지 않다면 바로 오름차순 정렬하였다.

 

람다함수

[capture](parameters) -> return_type {
    // function body
};
  • capture: 람다 함수 외부의 변수를 가져오는 방식이다. [ ] 안에 변수나 참조를 명시한다.
  • parameters: 일반 함수와 동일하게 함수의 매개변수 목록이다.
  • function body: 람다 함수의 실행 코드를 작성
  1. 람다 함수는 익명 함수(anonymous function)을 정의할 때 사용하는 간단한 문법이다.
  2. 일반 함수와 동일한 작업을 수행하지만, 이름이 없고 간결하게 작성할 수 있다는 장점이 있다.
  3. 주로 짧은 코드나 일회성 사용을 목적으로 사용된다.
  4. capture에 외부 지역 변수를 캡쳐해서 쉽게 사용할 수 있다.

*caputre 없이 vector에 있는 정수 정렬

더보기
vector<int> Array = { 3,9,2,0,5,7 };

sort(Array.begin(), Array.end(), [](const int& a, const int& b) {return a < b; });

 

*capture에 변수의 레퍼런스를 전달해서 vector의 누적 값 구하기

더보기
vector<int> Vector = { 1,2,3,4,5 };
int Total = 0;

for_each(Vector.begin(), Vector.end(), [&Total](const int& Value) {Total += Value; });

cout << Total;

 

'공부 > Code Cata' 카테고리의 다른 글

priority_queue 우선순위 큐 활용  (0) 2025.01.06
대칭되는 문자열 만들기  (0) 2025.01.03
문자열에서 영문 숫자 변환하기  (0) 2024.12.31
시저 암호(알파벳 순환 이동)  (0) 2024.12.31
최소 직사각형 구하기  (0) 2024.12.31
'공부/Code Cata' 카테고리의 다른 글
  • priority_queue 우선순위 큐 활용
  • 대칭되는 문자열 만들기
  • 문자열에서 영문 숫자 변환하기
  • 시저 암호(알파벳 순환 이동)
동그래님
동그래님
  • 동그래님
    개발자 동그래
    동그래님
  • 전체
    오늘
    어제
    • 분류 전체보기 (210)
      • 공부 (51)
        • Code Cata (50)
      • 내배캠 (151)
        • TIL (50)
        • C++ (37)
        • Unreal Engine (48)
        • GAS(Gameplay Ability System.. (16)
      • Project (7)
        • Gunfire Paragon (5)
        • Arena Fighters (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    동그래님
    람다 함수로 사용자 설정 정의해 정렬하기
    상단으로

    티스토리툴바