1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | long repeatedString(string s, long n) {
int aCnt = getAcnt(s);
int length = s.size(); //나머지가 없으면 if(n % s.size() == 0) { return aCnt * n; } else {
//나머지가 있으면 int partitialLeftS = n / s.size(); int remaining = n % s.size(); string partitialRightS = s.substr(0, remaining);
cout << partitialLeftS << " " << aCnt << " " << partitialRightS << " " << remaining; // 이거는 해도됨 return partitialLeftS * aCnt + getAcnt(partitialRightS); } }
int getAcnt(string s){ int cnt = 0; for(int i = 0; i < s.size(); i++) { if(s[i] == 'a') cnt++; } return cnt; } |
s에서 a갯수만 세서
0~k k ~ n 이렇게 나눠서 풀어보려는데
대략 테스트케이스를 일부만 통과하네요 ㅠㅠ