orihehe   8일 전

어느 부분이 틀린건지 전혀 모르겠어서 질문 드립니다

반례나 틀린부분 지적해주시면 정말 감사하겠습니다..ㅠㅠ

코드가 난잡하여 푼 방식을 말씀드리자면..

마지막 계단서부터 2칸씩 내려가면서 3가지 경우를 odd에 저장했습니다. 

num(계단수) = 4 까지는 최대가 나올 식들을 if문으로 지정해서 해두었고, num=5부터 for문에서 풀었습니다.

<1> odd[0]에는 내려온  계단 앞 두 부분 중 두 번째를 밟았을 때,

<2> odd[1]에는 내려온  계단 앞 두 부분 중 첫 번째를 밟았을 때,

<3> odd[2]에는 내려온  계단 앞 두 부분 모두 밟았을 때를 계단 내려갈 때마다 갱신해서 저장해뒀습니다.

홀수일 경우 

<1>일때 2칸을 더 내려간다면 두 부분 다 밟았을 때  -> odd[2]에 저장

<3>일때 2칸을 더 내려간다면 두 부분 중 첫 번째를  밟았을 때와

<2>일때 2칸을 더 내려간다면 두 부분 중 첫 번째를 밟았을 때 둘중 최대 -> odd[1]에 저장

<2>일때 2칸을 더 내려간다면 두 부분 중 두 번째를 밟았을 때  -> odd[0]에 저장

 => odd배열중 최대값이 답

짝수일 경우

num-1을 하여 홀수방법으로 구한 뒤

<3>일때는 arr[0]을 더하지 않고 , <1>과<2>일때는 arr[0]를 더하여 최대값이 답


이런식으로 풀었습니다..

댓글을 작성하려면 로그인해야 합니다.