Subarray Division 1


質問する



コード#コード#

from functools import reduce

s = [2,2,1,3,2]
d = 4
m = 2

def add(a, b):
    return a+b

def birthday(s, d, m):

    count = 0

    for i in range(len(s)):
        temp_list = s[i:i+m] # 길이 m 만큼 부분배열 생성
        if reduce(add, temp_list) == d:
            count += 1
        
    return count

新知


reduce()
reduce()はfrom functools import reduce functoolsのreduceをインポートしなければ使用できない関数です.
reduce(適用する関数、関数を入れるパラメータ)からなります.
ex)
def add(a, b):
return a+b
reduce(add, temp_list)
temp listの要素はパラメータとなりadd関数に適用され、その結果値を返します.

ソース


https://www.hackerrank.com/challenges/one-month-preparation-kit-the-birthday-bar/problem?h_l=interview&isFullScreen=false&playlist_slugs%5B%5D=preparation-kits&playlist_slugs%5B%5D=one-month-preparation-kit&playlist_slugs%5B%5D=one-month-week-one