문제 : 반복되는 스트링에서 문자 a의 총 개수 구하기
- 문자열에는 a가 1부터 100개 미만의 숫자 만큼 존재한다
- 반복되는 문자열일때 n번쨰까지 a의 총 개수를 구하라.
풀이법 1. 하드코딩 ㅠ.ㅠ
long repeatedString(string s, long n) {
long temp = n / s.size();
long reminder = n % s.size();
long count = 0;
long answer = 0;
for (size_t i = 0; i < s.size(); i++)
{
if (reminder == i + 1)
{
answer += count;
}
if (s[i] == 'a')
{
count++;
}
}
return answer + temp * count;
}
풀이법 2. std에 내장된 함수 사용
long repeatedString1(string s, long n) {
long temp = n / s.size();
long countStr = count(s.begin(), s.end(), 'a');
s.resize(n % s.size());
long reminder = count(s.begin(), s.end(), 'a'); ;
return reminder + temp * countStr;
}
'HackerRank' 카테고리의 다른 글
[HackerRank](c++) Jumping on the Clouds (0) | 2021.06.08 |
---|---|
[HackerRank](c++) Counting Valleys (0) | 2021.06.07 |
[HackerRank](c++) Sales by Match (0) | 2021.06.05 |