09009
[프로그래머스 lv2] 연속 부분 수열 합의 개수 본문
문제 보기
https://school.programmers.co.kr/learn/courses/30/lessons/131701
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 해결
- 처음 해결한 풀이
시간초과가 날뻔해서 정답이었지만 바람직하지 않은 코드인 것 같다.
def solution(elements):
answer = 0
elements_2 = elements * 2
j = 1
sum_list = set()
while j <= len(elements):
for i in range(len(elements)):
sum_list.add(sum(elements_2[i:i+j]))
j += 1
return len(list(sum_list))
소스 코드
- 다른 사람 풀이
def solution(elements):
result = set()
for i in range(len(elements)):
tmp_sum = elements[i]
result.add(tmp_sum)
for j in range(i+1, i+len(elements)):
tmp_sum += elements[j % len(elements)]
result.add(tmp_sum)
return len(result)
'Algorithm' 카테고리의 다른 글
[Softeer LV2] 문제 코드 정리 (0) | 2023.10.24 |
---|---|
알고리즘 유형 풀어야할 것 (0) | 2023.10.19 |
[프로그래머스 lv1] 신고 결과 받기 (0) | 2023.10.10 |
[프로그래머스 lv1] 키패드 누르기 (0) | 2023.10.10 |
[프로그래머스 lv1] 둘만의 암호 (0) | 2023.10.10 |
Comments