happy coding
[level 0] 연속된 수의 합 본문
문제 설명
연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요.
제한사항
- 1 ≤ num ≤ 100
- 0 ≤ total ≤ 1000
- num개의 연속된 수를 더하여 total이 될 수 없는 테스트 케이스는 없습니다.
내 풀이
등차수열 해서 3n을 사용하려고 힘내다가 죽도밥도 안된 케이스
def solution(num, total):
ans = []
# 연속된 수 중 가운데
n = total // num
a = num // 2
for i in range(-a, num-a):
if num%2 == 0:
ans.append(n+i+1)
else:
ans.append(n+i)
return ans
다른 풀이
def solution(num, total):
answer = []
var = sum(range(num+1))
diff = total - var
start_num = diff//num
answer = [i+1+start_num for i in range(num)]
return answer
def solution(num, total):
d=0
for i in range(1, num):
d += i
start=(total-d)//num
answer = [i for i in range(start, start+num)]
return answer
'coding study > programmars' 카테고리의 다른 글
[level 1] 옹알이 (2) (0) | 2024.07.02 |
---|---|
[level 1] 소수 찾기 (0) | 2024.07.02 |
[level 1] 소수 만들기 (0) | 2024.07.01 |
[level 1] 과일 장수 (0) | 2024.07.01 |
[level 1] 푸드 파이트 대회 (0) | 2024.07.01 |
Comments