hackerrank repeatedString


import math
import os
import random
import re
import sys

# Complete the repeatedString function below.
def repeatedString(string, number):
    # 몫 = (n//len(s))    # 몫을 구함( n을 문자의 크기 수로 나눔), 나머지 = divmod(number, len(s)) # 나누었는데 몫은 0이 되고 나머지는 n과 == 경우, 즉 len(s) > n이며 a가 있는 경우
    원본a개수 = string.count('a')    #  문자열의 a 개수를 구함
    x1 =*원본a개수           
    x2 = string[:나머지].count('a') #  만약 count()에서 파라미터를 못찻음 0반환
    return x1+x2

    # x1이 0이 되는 경우와 x2가 0이 되는 경우 둘다 0이 되는 경우등을 다각 적으로 분석해야함


if __name__ == '__main__':

    s = input()
    n = int(input())

    result = repeatedString(s, n)
    print(result)

의문점 하나. 몫*원본a의개수를 구하는 원인이 무엇일까?

예)

  1. 몫이 0이 된다면 len(s) > n보다 더 큰 경우이며, 몫이 0이 된다.
  2. 원본a개수 == 0이 된다는 것은 애초에 문자열에 'a'가 없다는 말이되고
  • x1이 0이되는 경우,
  • x1이 1이상이 되는 경우

의문점 둘. x1+x2를 더하는 이유는 무엇?

최종적으로 반환 받은 값이! 여러 경우의 수를 고려하여 원본s의 n개의 위치에까지 가보면 가던중 a의 총 개수를 물어보는 문제이다.

좋은 웹페이지 즐겨찾기