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);
amjong 5년 전 1
수족관의 수평 선분을 토대로 열 하나하나씩을 객체화해서
각 객체(막대 모양이라 코드에서는 sticks라고 하였습니다)에는
구멍의 깊이(세로 길이), 해당 열이 가지고 있는 물의 양 두가지를 담았고
구멍에서 물을 뺄 때의 처리는
구멍의 좌표에서 왼쪽, 오른쪽으로 막대 객체들을 훑으면서
현재의 구멍 깊이보다 더 얕은 막대가 나온다면, 현재의 구멍 깊이를 해당 막대의 깊이로 바꿔주고 물의 양을 알맞게 빼주고
더 깊은 막대가 나온다면 구멍 깊이는 그대로 두고 물의 양을 알맞게 뺀 뒤
마지막에 막대들의 물의 양의 총합을 구해서 출력했습니다.
어디가 잘못된건지 잘 모르겠습니다.ㅠㅠ 부탁드립니다