Increasing Substring
https://codingcompetitions.withgoogle.com/kickstart/round/0000000000435a5b/000000000077a882
주어진 문자열에서 증가하는 부분을 찾아서 카운트를 하나씩 올려주는 문제였습니다.
오랜만에 풀어보는 문제라 간단한 문제부터 다시 시작 하려고 합니다.
간단하게 min char 변수를 만들어서 직전 문자보다 같거나 작으면 변수를 1로 초기화해주는 것으로 쉽게 풀 수 있었습니다.
#include <iostream>
#include <queue>
#include <string>
#include <algorithm>
#include <math.h>
using namespace std;
int t;
int n;
string s;
void Solve() {
cin >> n >> s;
int j = 1;
char mc = 'A' - 1;
for (int i = 0; i < s.length(); ++i) {
if (mc >= s[i]) {
j = 1;
}
cout << j++ << ' ';
mc = s[i];
}
}
int main() {
cin >> t;
for (int i = 0; i < t; ++i) {
cout << "Case #" << i + 1 << ": ";
Solve();
cout << '\n';
}
return 0;
}
반응형
댓글