프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(elements):
answer = set()
new_arr = elements + elements
for i in range(1, len(elements)+1): # 부분 수열의 길이
start = 0
while start <= len(elements):
answer.add(sum(new_arr[start:start+i]))
start += 1
return len(answer)
원형 수열을 실제로 구현하지는 않았고 elements 수열을 2개 연달아 이어붙여서 부분 수열의 합을 구할 수 있도록 하였다. 부분 수열의 길이별로 시작점을 1씩 증가시키며 부분 수열의 합을 구하여 집합에 계속 추가하였다. 중복 제거를 하기 위하여 집합을 사용하였다. 그리고 최종적으로 집합의 길이를 구하면 정답이다.
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 백준 16956번 늑대와 양 (0) | 2024.02.18 |
---|---|
[Python/파이썬] 백준 21921번 블로그 (0) | 2023.02.16 |
[Python/파이썬] 프로그래머스 귤 고르기 (0) | 2023.01.06 |
[Python/파이썬] 2018 KAKAO BLIND RECRUITMENT [3차] n진수 게임 (1) | 2022.12.27 |
[Python/파이썬] 프로그래머스 프린터 (0) | 2022.12.22 |
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
def solution(elements): answer = set() new_arr = elements + elements for i in range(1, len(elements)+1): # 부분 수열의 길이 start = 0 while start <= len(elements): answer.add(sum(new_arr[start:start+i])) start += 1 return len(answer)
원형 수열을 실제로 구현하지는 않았고 elements 수열을 2개 연달아 이어붙여서 부분 수열의 합을 구할 수 있도록 하였다. 부분 수열의 길이별로 시작점을 1씩 증가시키며 부분 수열의 합을 구하여 집합에 계속 추가하였다. 중복 제거를 하기 위하여 집합을 사용하였다. 그리고 최종적으로 집합의 길이를 구하면 정답이다.
'문제풀이 > 기타' 카테고리의 다른 글
[Python/파이썬] 백준 16956번 늑대와 양 (0) | 2024.02.18 |
---|---|
[Python/파이썬] 백준 21921번 블로그 (0) | 2023.02.16 |
[Python/파이썬] 프로그래머스 귤 고르기 (0) | 2023.01.06 |
[Python/파이썬] 2018 KAKAO BLIND RECRUITMENT [3차] n진수 게임 (1) | 2022.12.27 |
[Python/파이썬] 프로그래머스 프린터 (0) | 2022.12.22 |