amjong   5년 전

수족관의 수평 선분을 토대로 열 하나하나씩을 객체화해서

각 객체(막대 모양이라 코드에서는 sticks라고 하였습니다)에는

구멍의 깊이(세로 길이), 해당 열이 가지고 있는 물의 양 두가지를 담았고

구멍에서 물을 뺄 때의 처리는

구멍의 좌표에서 왼쪽, 오른쪽으로 막대 객체들을 훑으면서

현재의 구멍 깊이보다 더 얕은 막대가 나온다면, 현재의 구멍 깊이를 해당 막대의 깊이로 바꿔주고 물의 양을 알맞게 빼주고

더 깊은 막대가 나온다면 구멍 깊이는 그대로 두고 물의 양을 알맞게 뺀 뒤

마지막에 막대들의 물의 양의 총합을 구해서 출력했습니다.

어디가 잘못된건지 잘 모르겠습니다.ㅠㅠ 부탁드립니다

amjong   5년 전

41/45/54/58번째 줄에서,

구멍 순서에 따라서 막대의 물의 양이 거꾸로 많아지는 경우도 생길 수 있다고 생각해서

무조건 현재 막대의 물의 양을 (막대의 깊이 - 현재 구멍의 깊이)로 대입하는 것이 아니라,

둘 중 작은값으로 취하도록 바꾸고 AC를 받았습니다.


sticks[now_col].second = sticks[now_col].first - now_row; 

  => sticks[now_col].second = min( sticks[now_col].second,   sticks[now_col].first - now_row);

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