연속 부분 수열 합의 개수
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
- 내 풀이
- 바로 len(set) 해도 됨
from collections import deque
def solution(elements):
result=set(elements)
for i in range(1,len(elements)):
queue=deque([], i+1)
for j in range(-i,i+1):
queue.append(elements[j])
result.add(sum(queue))
return len(result)
- 다른 사람 풀이
- 시간 10배 단축
- 원형 함수 -> j번째 수에서 % n 을 하면 n이하의 인덱스 값으로 나오므로 다시 돌아갈 수 있음
- i-1번째 인덱스 -> (i+n) % n로 표현할 수 있음
def solution(elements):
n = len(elements)
result = set()
for i in range(n):
tmp = elements[i]
result.add(tmp)
for j in range(i+1, i+n):
tmp += elements[j%n]
result.add(tmp)
return len(result)
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스][구현] 2018 카카오 [1차] 셔틀버스 (0) | 2024.06.21 |
|---|---|
| [프로그래머스][스택] 할인 행사 (0) | 2024.06.20 |
| [프로그래머스] [그리디][최소신장트리][크루스칼 알고리즘] 섬 연결하기 (0) | 2024.04.29 |
| [프로그래머스][백트래킹][그리디] 광물 캐기 (0) | 2024.04.18 |
| [프로그래머스][조합] 후보키 (0) | 2024.03.09 |