728x90
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 내용, 조건, 예시는 프로그래머스 사이트 참조
알고리즘
sort를 이용해서 정렬
- 정렬비교는 custom함수를 통해서 재설정해서 진행
- 정렬기준 : n번째 글자를 기준으로 오름차순
여기서 정렬비교에 쓰이는 custom함수 위치에 별도함수를 생성, 람다함수 생성 등 비교방법은 어러가지이지만 여기서는 인자값 n이 필요하기 때문에 람다함수를 이용해서 풀어줬음
또한, custom함수 코드량이 적기 때문에 람다함수를 사용해서 풀면 보기 깔끔함)
custom함수에는 다음과 같은 알고리즘 적용
- n번째 문자가 같으면, 전체 문자 기준으로 오름차순
- n번째 문자가 다르면, n번째 문자 기준으로 오름차순
위와 같이 해주면 해당 문제 풀이는 완료
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <string> #include <vector> #include <algorithm> using namespace std; vector<string> solution(vector<string> strings, int n) { vector<string> answer = strings; sort(answer.begin(), answer.end(), [n](string& str1, string& str2) { if (str1[n] == str2[n]) { return (str1 < str2); } else { return (str1[n] < str2[n]); } } ); return answer; } | cs |
↓↓↓↓↓↓ 유익했다면 하트 뿅 ♥ ↓↓↓↓↓↓
728x90
반응형
'프로그래밍 > 프로그래머스' 카테고리의 다른 글
Lv1_[[1차] 비밀지도, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.13 |
---|---|
Lv1_[삼총사, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (1) | 2023.01.12 |
Lv1_[K번째수, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.10 |
Lv1_[두 개 뽑아서 더하기, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.03 |
Lv1_[폰켓몬, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.02 |
댓글