연속된 수의 합 - Python
2023. 10. 1. 19:10ㆍ공부/📝 프로그래머스
def solution(num, total):
answer = []
if num % 2:
start = total // num - (num - 1) // 2
end = total // num + (num - 1) // 2
for i in range(start, end + 1):
answer.append(i)
else:
start = total // num - num // 2 + 1
end = total // num + num // 2
for i in range(start, end + 1):
answer.append(i)
return answer
# Test Cases
print(solution(3, 12))
print("=" * 50)
print(solution(5, 15))
print("=" * 50)
print(solution(4, 14))
print("=" * 50)
print(solution(5, 5))
print("=" * 50)
두 가지 경우로 나누어서 풀었습니다.
def solution(num, total):
return [(total - (num * (num - 1) // 2)) // num + i for i in range(num)]
그런데 이 풀이를 보니 제 풀이에서 좀 더 간략하게 만들 수 있었는데 동작이 되니까 생각을 멈춘게 아쉽게 느껴지네요.
'공부 > 📝 프로그래머스' 카테고리의 다른 글
겹치는 선분의 길이 - Python (0) | 2023.10.01 |
---|---|
안전지대 - Python (0) | 2023.10.01 |
다음에 올 숫자 - Python (0) | 2023.10.01 |
OX퀴즈 - Python (0) | 2023.10.01 |
특이한 정렬 - Python (0) | 2023.10.01 |