https://school.programmers.co.kr/learn/courses/30/lessons/12915
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다.
예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱스 1의 문자 "u", "e", "a"로 strings를 정렬해주세요.
풀이 방법
sort() 함수에 사용자 정의 정렬 기준을 적용하면 문제를 쉽게 해결할 수 있습니다.
- n번째 위치의 알파벳을 기준으로 문자열을 오름차순 정렬합니다.
- 만약 n번째 알파벳이 같은 경우, 문자열 전체를 기준으로 다시 사전순 정렬합니다.
풀이 코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<string> solution(vector<string> strings, int n) {
sort(strings.begin(), strings.end(), [n](string &a, string &b) {
if (a[n] == b[n]) return a < b;
return a[n] < b[n];
});
return strings;
}
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] Lv.2 더 맵게 c++ (0) | 2025.01.28 |
---|---|
[프로그래머스] Lv.3 단어 변환 c++ (0) | 2025.01.23 |
[프로그래머스] Lv.2 모음사전 c++ (0) | 2025.01.23 |
[프로그래머스] Lv.1 가장 많이 받은 선물 c++ (0) | 2025.01.22 |
[프로그래머스] Lv.2 기능개발 c++ (0) | 2025.01.21 |