백준/누적 합
-
백준 27210 nodejs백준/누적 합 2023. 2. 9. 14:39
문제 https://www.acmicpc.net/problem/27210 27210번: 신을 모시는 사당 칠할 수 있는 돌상의 개수에 제한은 없으며, 반드시 연속한(인접한) 돌상들만 칠할 수 있음(띄엄띄엄 칠할 수 없음)에 유의하라. www.acmicpc.net 풀이 왼쪽이나 오른쪽 중 한 쪽을 기준으로 누적 합을 S에 저장한다. 구하고자 하는 값은 S[max] - S[min] (min < max)이다. 왼쪽을 기준으로 max < min일 경우 오른쪽을 기준으로 하면 S[max] - S[min] (min < max)이 되며, 이 값이 최댓값임이 자명하다. const [[N], I] = `${require('fs').readFileSync('/dev/stdin')}`.trim().split`\n`.map(..
-
백준 9527 nodejs백준/누적 합 2022. 12. 20. 16:33
문제 https://www.acmicpc.net/problem/9527 9527번: 1의 개수 세기 두 자연수 A, B가 주어졌을 때, A ≤ x ≤ B를 만족하는 모든 x에 대해 x를 이진수로 표현했을 때 1의 개수의 합을 구하는 프로그램을 작성하시오. 즉, f(x) = x를 이진수로 표현 했을 때 1의 개수라 www.acmicpc.net 풀이 DP를 이용하여 이진수 0, 1, 11, 111, ... 의 F(x) 값을 구한다. 각 값에 1을 더해 이진수 1, 10, 100, 1000, ...일 때의 값으로 바꿔준다. 이를 주어진 A, B 값과 비교하여 정답을 구한다. (ex : B - 1100 = 1000 + 100 * 2, A - 10) let [A, B] = require('fs').readFile..