PS/Blind
[Beakjoon] 1024-수열의 합
재문OwO
2022. 10. 31. 13:30
https://www.acmicpc.net/problem/1024
1024번: 수열의 합
첫째 줄에 N과 L이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이고, L은 2보다 크거나 같고, 100보다 작거나 같은 자연수이다.
www.acmicpc.net
나의 풀이

이런식으로 접근을 해보았다.
num, num2 = map(int, input().split())
result = []
for j in range(num2,101):
if j % 2 == 0:
if num % j == j/2 and num/j + 0.5 - (j//2) >= 0:
for k in range (0, j):
result.append(int(num/j + 0.5 - (j//2) + k))
break
else:
if num % j == 0 and num/j-(j//2) >= 0:
for k in range (0, j):
result.append(int(num/j-(j//2) + k))
break
if len(result) == 0:
result.append(-1)
print(*result)
메모리 시간은 각각 이렇게 나왔는데 더 단축 시킨 다른 풀이를 보기로 했다
30840 | 76 |
다른 풀이

대게 이런식으로 미리 나누는 수열의 합들을 뺀다음에 나눠서 0이 되면 나누는 수의 갯수가 홀수 짝수 나눌 필요가 없게 되는것을 배웠다
https://www.acmicpc.net/source/12598433
로그인
www.acmicpc.net
다른 분의 코드라 직접 올리지는 않고 링크로 남겨 두겠다.
저분은 메모리와 시간이 이런식으로 찍히는데 표본이 적어 큰 차이인지는 잘 모르겠네
29056 | 56 |