글 읽 기 - 문제 접근 방법 좀 알려 주 실 수 있 나요 ! ? 
 문제 접근 방법 좀 알려 주 실 수 있 나요 ! ? 
 2879 번 - 코딩 은 예쁘 게 	 dokrsky 1 년 전 
 지금 다이나믹 으로 접근 해 보 고 싶 은데 , 도저히 안 떠오르 네요 ㅜㅜ 1 2 3 4 -> 3 1 1 0 으로 만들 기 위해서 2 2 3 4 -> 3 2 3 4 -> 3 1 2 3 -> 3 1 1 2 -> 3 1 1 1 -> 3 1 1 0 해서 총 6 번 인건 알 겠 는데 , 이걸 dp 로 접근 하 기 가 힘듭니다 ㅠㅠ 도와 주 세요 ! ㅠ 
 alohajihwan 1 년 전 
 dp 로 접근 하 려면 먼저 반복 되 는 경우 가 언제 발생 하 는지 봐야 합니다 . 이 문제 를 풀 기 위해서 알 아야 할 핵심 은 각각 의 index 에서 ( 출발지 - 도착지 ) 가 같 은 부호 이 면 같 은 그룹 이 된다는 것 입니다 . 그룹 각각 을 처리 할 때 이제 dp 가 사용 됩니다 . 처리 하 는 방법 은 그룹 내 에서 가장 작 은 값 ( 절대값 ) 을 정하 고 그만큼 을 그룹 전체 에 빼 준 다음 가장 작 은 값 을 제외 한 그룹 에서 다시 그 과정 을 거치 는 것 입니다 . 
 예 를 들 어 51 1 1 1 15 3 1 3 5 가 주어지 면 일단 모든 index 는 - 로 부호 가 같 아 하나 의 그룹 입니다 . 이제 이 그룹 을 처리 할 때 차이 값 이 가장 작 은 index 를 찾 습니다 . 이 경우 는 3 번 째 경우 이 지요 . 그 다음 3 번 째 index 를 제외 한 첫 번 째 ~ 두 번 째 , 4 번 째 ~ 5 번 째 그룹 을 다시 위 의 과정 을 거치 게 합니다 . 결국 하나 의 그룹 내 에서 dp 반복 이 생겨 dp 로 풀 수 있 는 것 입니다 . dokrsky 1 년 전 
 alohajihwan 님 답변 감사 합니다 ! ! 밑 의 코드 는 제 가 작성 한 건데 , 틀렸 습니다 가 나옵니다 ㅠㅠ 어디 가 잘못 된 걸까요 ? # include < iostream > 
 / / 들여쓰기 의 횟수 를 계산 
 / / 만약 - 3 , - 5 , - 1 이 라면 가장 큰 연속 된 그룹 내 에선 5 번 을 누르 면 됨 
 / / 위 의 과정 과 같이 1 9 5 라면 9 번 을 누르 면 됨 
 if ( result < v ) 
 / / 만약 - 3 , - 5 , - 1 이 라면 가장 큰 연속 된 그룹 내 에선 5 번 을 누르 면 됨 이 가정 이 잘못 됬 습니다 . 만약 인풋 이 51 1 1 1 15 3 2 3 2 로 주어지 면 일단 3 번 째 부호 를 맞춰 줘서 2 2 2 2 2 가 됩니다 ( 1 ) 그 다음 이제 3 번 째 수 를 건들 면 안 되 기 때문 에 1 ~ 2 번 째 4 ~ 5 번 째 그룹 으로 나눕니다 그 다음 2 2 5 3 2 2 5 3 두 개 의 그룹 으로 나눠서 생각 해야 하 기 때문 에 답 이 7 나옵니다 . 결국 이 문제 를 풀 기 위해서 는 그룹 을 나눠서 생각 하 는 분 할 정복 ( DP ) 를 사용 해야 합니다 . 
 dokrsky 1 년 전 
 alohajihwan 님 감사 합니다 ! 제출 했 더니 맞 았 습니다 가 뜨 네요 ㅎㅎ 정말 감사 드립니다 ! !!! 
 grands 10 달 전 
 위 에 테 케 51 1 1 1 15 3 2 3 2 답 이 5 아닌가요 ? 
 tofle 4 달 전 
 1 1 1 1 15 3 2 3 5 라고 착각 하 신 듯