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의개수
를 구하는 원인이 무엇일까?
예)
- 몫이 0이 된다면 len(s) > n보다 더 큰 경우이며, 몫이 0이 된다.
- 원본a개수 == 0이 된다는 것은 애초에 문자열에 'a'가 없다는 말이되고
- x1이 0이되는 경우,
- x1이 1이상이 되는 경우
의문점 둘. x1+x2를 더하는 이유는 무엇?
최종적으로 반환 받은 값이! 여러 경우의 수를 고려하여 원본s의 n개의 위치에까지 가보면 가던중 a의 총 개수를 물어보는 문제이다.
Author And Source
이 문제에 관하여(hackerrank repeatedString), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@hyeseong-dev/hackerrank-repeatedString저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)