반응형
문제
연속 부분 수열의 합을 개산하는 문제입니다.
* 파라미터 값이 배열의 값으로 들어오기 때문에 index 0가 마지막 부분 연결하는 부분을 신경써야 합니다.
코드
- 수열의 합을 배열에 넣는 방식을 사용했습니다.
- set()으로 중복된 값을 제거 하는 방법을 사용했습니다.
중복된 값을 제거할 때 기존 리스트의 순서를 유지하고 제거하는 방법과 유지하지 않고 제거하는 방법 중 어떤것이 속도가 빠른지 확인했습니다.
set()과 이중 for()문 사용시 time = 1.0013580322265625e-05 걸렸습니다.
1. 이중 for
from collections import deque
def solution(elements):
answer = 0
elements = deque(elements)
list = []
for i in range(len(elements)):
tmp = 0
for j in range(len(elements)):
tmp += elements[j]
list.append(tmp)
elements.rotate(-1)
return len(set(list))
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스 LV1]가운데 글자 가저오기 (0) | 2023.04.26 |
---|---|
[프로그래머스 LV2]할인 행사 (0) | 2023.04.25 |
[프로그래머스 LV2] 괄호 회전하기 (0) | 2023.04.22 |
[프로그래머스] 런타임 에러 (0) | 2023.04.20 |
[프로그래머스 LV2] 귤 고르기 (0) | 2023.04.20 |