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 |
---|