[C++로 풀이] 문자열 내 마음대로 정렬하기⭐

Date:     Updated:

카테고리:

태그:

📌 문자열 내 마음대로 정렬하기

난이도 ⭐

🚀 문제

image


🚀 내 풀이 ⭕

난이도 ⭐ 라서 가볍게 몇 개만 풀자! 하는 마음으로 풀었다가 조금 까다로워서 당황..

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

using namespace std;

int global;
bool compare(const string& a, const string& b)
{
    if (a[global] == b[global])
        return a < b;
    return a[global] < b[global];
}

vector<string> solution(vector<string> strings, int n) {
    global = n;
    
    sort(strings.begin(), strings.end(), compare);
    
    return strings;
}
  • string_1[n], string_2[n] 인덱스 n에 있는 문자 1 개를 가지고 비교해서 두 문자열을 정렬해야 한다.
    • 근데 string_1[n], string_2[n] 가 같다면!!!! (이 조건이 먼저 앞서야 사전 순 정렬) 이렇게 같은 경우의 문자열들끼리는 사전 순으로 정렬이 되어야 한다.
      • 그냥 a < b 해주면 해결 됨.

전역 변수는 사용하기 싫었는데 전역 변수 안쓰고는 답이 없을 것 같아 사용했다.ㅜㅠ 비교 함수에 필요한 파라미터 넘길 수 있다면 좋을텐데!



🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기

Programmers 카테고리 내 다른 글 보러가기

댓글 남기기