본문 바로가기
알고리즘

특정 문자의 총 개수는?

by 스빠시빠 2018. 11. 2.

문제

반복되는 문자열에서 '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

댓글