https://school.programmers.co.kr/learn/courses/30/lessons/42883
#include <string>
#include <vector>
#include <queue>
#include <algorithm>
using namespace std;
string solution(string number, int k) {
string answer = "";
int start = 0, cnt = number.length() - k;
while (answer.length() != cnt)
{
// end에서 구해야 할 남은 개수만큼 뺀 영역까지 최대 값 도출
auto temp = max_element(number.begin() + start, number.end() - cnt + answer.length() + 1);
// start를 새롭게 갱신
answer += *temp, start = temp - number.begin() + 1;
}
return answer;
}
'Coding Test > Programmers' 카테고리의 다른 글
[Programmers] Lv 2. 124 나라의 숫자 (0) | 2023.07.28 |
---|---|
[Programmers] (월간 코드 챌린지 시즌1) Lv 2. 삼각 달팽이 (0) | 2023.07.28 |
[Programmers] Lv 2. 택배상자 (0) | 2023.07.26 |
[Programmers] (월간 코드 챌린지 시즌1) Lv 2. 쿼드압축 후 개수 세기 (0) | 2023.07.25 |
[Programmers] (완전탐색) Lv 2. 소수 찾기 (0) | 2023.07.24 |
댓글