문제 출처: https://programmers.co.kr/learn/courses/30/lessons/42883?language=cpp
char 타입의 '0'은 ASCII Code로 표현하면 48입니다. '9'까지 이어져 있으며 [-'0']을 해주거나 [-48]을 해주면 int 타입과 동일하게 활용할 수 있습니다.
코드는 다음과 같습니다:
#include <string>
using namespace std;
string solution(string number, int k) {
string answer = "";
int n = number.length() - k;
for(int i = 0,index = -1; i < n; i++){
char max = '0';
for(int j = index + 1; j <= k + i; j++){
if(max < number[j]){
max = number[j];
index = j;
}
}
answer += max;
}
return answer;
}
해당 문제는 Github에서도 보실 수 있습니다:
https://github.com/gurcks8989/CodingTest/blob/master/Programmers/P42883_Making_Big_Number.cpp
훈수 및 조언은 언제든 환영입니다.