BOJ_10539 수빈이와 수열
- TOC {:toc}
이 글은 백준 온라인 저지의 10539번 문제를 풀이한 것을 모아놓은 글입니다.
일종의 연습 기록이며 제가 정답을 받은 코드와 참고할만한 다른 코드를 같이 기록합니다. 필요한 경우 코드에 대한 해설을 기록합니다만 코드는 통과했어도 해설은 틀릴 수 있기 때문에 가볍게 참고해주시길 부탁드립니다. 피드백은 편하신 방법으로 자유롭게 주시면 감사하겠습니다.
2021.08.03 (Python)
메모리 | 시간 | 코드 길이 |
---|---|---|
29200 KB | 80 ms | 182 B |
단계 | 시작 시각 | 끝난 시각 | 걸린 시간 |
---|---|---|---|
문제 이해 | 16:09:00 | 16:12:06 | |
풀이 생각 | 16:12:27 | 16:18:34 | |
코딩 | 16:19:59 | 16:24:22 |
import sys
input = sys.stdin.readline
N = int(input())
B = [0] + list(map(int, input().split()))
for i in range(1, N + 1):
print(i * B[i] - (i - 1) * B[i - 1], end=" ")
print()
아이디어 & 풀이
수열 A와 수열 B 사이의 관계는 다음과 같다: $a_n = nb_n - (n - 1)b_{n - 1}$
2022.04.09 (JS)
메모리 | 시간 | 코드 길이 |
---|---|---|
9672 KB | 120 ms | 384 B |
단계 | 시작 시각 | 끝난 시각 | 걸린 시간 |
---|---|---|---|
문제 이해 | 01:28:12 | 01:28:45 | |
풀이 생각 | 01:28:49 | 01:31:06 | |
코딩 | 01:31:35 | 01:34:04 |
const fs = require("fs");
const input = fs.readFileSync('/dev/stdin').toString().trim().split("\n");
function main() {
const res = Array(N);
res[0] = seq[0];
for (let i = 1; i < N; i += 1) {
res[i] = seq[i] * (i + 1) - seq[i - 1] * i;
}
return res;
}
const [N, line] = input;
const seq = line.split(" ").map((n) => parseInt(n));
console.log(...main());
참고 답안
N, B = int(input()), list(map(int, input().split(" ")))
A = [B[0]]
for i in range(1, N):
A.append(B[i] * (i + 1) - sum(A))
print(" ".join(list(map(str, A))))
-
ps-python ps-js