티스토리 뷰
계단오르기
[백준] 계단오르기 2579번
#include<stdio.h> int max(int x, int y) { return x > y ? x : y;} int main() { int arr[301]; int sum[2][301]; int test_case;
scanf("%d", &test_case); for (int i = 1; i <= test_case; i++) { scanf("%d", &arr[i]); } //sum[0][1] = arr[1]; sum[1][1] = arr[1]; for (int i = 2; i <= test_case; i++) { //한칸 움직였을 때 sum[0][i] = sum[1][i - 1] + arr[i]; // 10 + 20 = 30 //두칸 움직였을 때 if (sum[1][i - 2] > sum[0][i - 2]) { sum[1][i] = sum[1][i - 2] + arr[i]; printf("1번째 : %d\n", sum[1][i]); } else { sum[1][i] = sum[0][i-2] + arr[i]; printf("2번째 : %d\n", sum[1][i]); } } printf("%d\n", max(sum[1][test_case],sum[0][test_case])); return 0; } |
'프로그래밍 > 알고리즘' 카테고리의 다른 글
알고리즘 개인 공부 (0) | 2017.03.19 |
---|---|
2017-03-17 알고리즘 문제 풀기 (0) | 2017.03.19 |
2017-03-16 알고리즘 문제 풀기 (0) | 2017.03.18 |
2017-03-15 알고리즘 문제 풀기 (0) | 2017.03.17 |
기본적 정렬 (0) | 2017.03.14 |