목록백준 c++ (17)
이우의 개발일지

백준 11659번 구간 합 구하기 4문제 1 변수 stack 초과N, M, j, k 의 제한이 100,000이다. 이 모든 변수들의 배열을 100,000으로 주면 STACK 초과가 뜬다.처음은 아래 처럼 풀려고 했지만, 스택 초과 오류가 떴다. 배열 공간을 낮춰주니 정답은 맞았지만 바꿔줘야 했다. #include#includeusing namespace std;int d[100004];int main() { int n,m; cin >> n>> m; vector vec; int i[100004]; int j[100004]; int N[100004]; for (int i = 1; i > N[i]; for (int k = 1; k > i[k] >> j[k]; for (int k = 1; k 문제 2 시간 초..

백준 2579번 계단 오르기https://www.acmicpc.net/problem/2579 이번 계단 오르기 문제는 2차 배열을 이용해 풀었다.전에 풀었던 DP 문제에서 세번째 연속되면 안되는 조건이 추가되어, 그 조건을 컨트롤하는데 추가 배열이 필요했다. (D[300][3]으로 설정해줘도 됨.) d[i][1] -> 전 계단을 건너뛰고 밟은 i 번째 계단d[i][2] -> 전 계단을 밟고 두번 연속되게 밟은 i 번째 계단(d[i][2]일 때는 무조건 d[i-1][1]을 밟았다고 해야됨 & 다음 계단은 무조건 건너뛰어야됨) 이라는 조건이 붙는다. 여기서 내가 간과한 점:d[i][1] = max(d[i - 2][1], d[i - 2][2]) + vec[i];당연히 d[i-2][2] 가 d[i-2][1]보..

백준 2108번 통계학 https://www.acmicpc.net/problem/2108 이 문제에서 너무 어렵게 생각했던 점은 입력되는 값이 음수일 수도 있으니, 그 값을 어떻게 처리하냐의 문제였다. 입력되는 정수의 절댓값은 절대 4000이 넘지 않는다. 라고 되어있어서 다른 풀이를 보니 arr[8001] 같이 아예 전체 음수까지해서 범위를 8000이라고 둔 것이다. 문제 풀 때는 범위확인을 잘해서 내가 배열범위를 미리 지정해줘도 괜찮은 값이면 쓰는게 나을 것 같다. #include#include#include#includeusing namespace std;int main() { int n; cin >> n; vector vec; vector che; double a=0; int result[4..