본문 바로가기
알고리즘

알고리즘 - Google Kickstart 2021 B 1번

by COCO1337 2021. 9. 7.

Increasing Substring

https://codingcompetitions.withgoogle.com/kickstart/round/0000000000435a5b/000000000077a882

 

Kick Start - Google’s Coding Competitions

Hone your coding skills with algorithmic puzzles meant for students and those new to coding competitions. Participate in one round or join them all.

codingcompetitions.withgoogle.com

 

 

주어진 문자열에서 증가하는 부분을 찾아서 카운트를 하나씩 올려주는 문제였습니다.

오랜만에 풀어보는 문제라 간단한 문제부터 다시 시작 하려고 합니다.

 

간단하게 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;
}

 

 

반응형

'알고리즘' 카테고리의 다른 글

알고리즘 스터디  (0) 2021.11.22
알고리즘 스터디  (0) 2021.09.28
알고리즘 스터디  (0) 2021.05.05
알고리즘 스터디  (0) 2021.05.05
알고리즘 스터디  (0) 2020.08.07

댓글