제주 탈출 일지

[C++] 프로그래머스 레벨 1 - 문자열 내 마음대로 정렬하기 본문

코딩 테스트

[C++] 프로그래머스 레벨 1 - 문자열 내 마음대로 정렬하기

귀건 2020. 10. 28. 01:51
728x90
반응형

programmers.co.kr/learn/courses/30/lessons/12915?language=cpp

 

코딩테스트 연습 - 문자열 내 마음대로 정렬하기

문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1

programmers.co.kr

 

내맘대로 계속 풀면서 끙끙 앓다가, 답을 보자마자 신세계를 느꼈다. 이 문제는 조건자를 사용하여 정렬하는 것인데, 단순 less, greater를 사용해서 하는 것이 아니라 추가 조건에 맞게 정렬해야할 필요가 있다. 조건자를 사용해본 경험이 없으니 이렇게 망했다.

 

bool mysort(string a, string b){
    if(a.at(N)!=b.at(N)){
        return a.at(N) < b.at(N);   //N인덱스의 문자로 정렬
    }else{
        return a < b;   //사전순으로 정렬
    }
    //return a.at(N)==b.at(N) ? a < b : a.at(N) < b.at(N);
}

 

wilybear.tistory.com/83

 

<프로그래머스> Level1 문자열 내 마음대로 정렬하기

문자열 내 마음대로 정렬하기 문제 문제 설명 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가

wilybear.tistory.com

 

짚고 넘어갈 필요를 느꼈다.

namnamseo.tistory.com/entry/stdsort%EB%A5%BC-%EC%9D%B4%EC%9A%A9%ED%95%9C-%EC%A0%95%EB%A0%AC

 

std::sort를 이용한 정렬

algorithm 이라는 헤더엔 std::sort() 라는 함수가 있습니다. 즉 #include 을 하고 using namespace std; 를 하면 sort() 함수를 쓸 수 있습니다. sort() 함수는 크기가 커지는 순서대로 배열을 정렬하는 함수입니..

namnamseo.tistory.com

 

핵심!!!!!

bool 함수이름 (const 변수형& a, const 변수형& b){
    return (a가 b보다 앞에 올 조건);
}

조건을 내가 원하는 형태로 설정할 수 있는가가 관건이다.

a가 b보다 앞에 올 조건이라는 것을 명심하자.

728x90
반응형
Comments