문제
반복되는 문자열에서 'a' 문자의 개수를 구하라.
요구 사항
주어진 repeatedString 함수를 완성 시켜라.
첫번째 인자는 문자열
두번째 인자는 문자열 길이
결과값은 'a'의 총 개수를 return
입력 형식
첫 줄은 반복 될 문자열, 두번째 줄은 문자열의 길이.
제한 사항
길이 1 <= n <= 10의12승, 반복될 문자열 1 <= |s| <= 100
예제
입력:
aba
10
결과:
7
설명:
문자열의 길이가 10이기 때문에 'aba'를 10까지 반복시키면 'abaabaabaa'가 나온다.
총 'a'의 개수는 7이 된다.
function repeatedString(s, n) {
const stringArray = s.split('');
const length = s.length;
const aCount = (s.match(/a/g) || []).length;
let matchCount = 0;
for(let i = 0; i < n % length; ++i) {
if (stringArray[i] === 'a') {
matchCount += 1;
}
}
return aCount * parseInt(n / length) + matchCount;
}
'알고리즘' 카테고리의 다른 글
재귀 소개 및 DP의 맛 (0) | 2019.05.08 |
---|---|
버블정렬? 뇌물의 횟수를 구하라! (feat. 새치기) (0) | 2018.11.09 |
계곡의 개수는? (0) | 2018.11.01 |
최소 점프 횟수는? (0) | 2018.10.31 |
같은 색상의 양말은 몇 쌍인가? (0) | 2018.10.30 |
댓글