def over_coverage(idx , max_len):
    if idx > max_len:
        additional_idx = idx-max_len
        return additional_idx
    else:
        return None

def calculate(start, end , elements):
    # print(start, end)
    additional_idx = over_coverage(end, len(elements))
    if additional_idx:
        result = sum(elements[start:end])+sum(elements[:additional_idx])
    else:
        result = sum(elements[start:end])
        
    return result 
def solution(elements):
    answer_list = []
    coverage = 1
    while coverage < len(elements):
        for i in range(len(elements)):
            result = calculate(i, i+coverage , elements)
            answer_list.append(result)
        coverage += 1
    answer_list.append(sum(elements))
    answer_list = set(answer_list)
    return len(answer_list)

 

내 코드에선 code가 index를 넘었을 땐 over_coverage라는 함수를 짜서 순환할 수 있도록 했는데 

for j in range(i+1, i+ll):
    ssum += elements[j%ll]

mod를 사용하면 이런식으로 바로  갈 수 있음

 

set도 add method를 사용해서 바로 데이터를 삽입할 수 있었음

'Programming > 코딩테스트' 카테고리의 다른 글

[프로그래머스] 영어 끝말잇기  (0) 2024.03.24