18111번 - 마인크래프트
각 높이별로 블록이 몇 개 있는지 저장하고,
가장 낮은 층을 minn으로, 가장 높은 층을 maxx로 잡아줍니다.
minn ~ maxx 사이를 기준 k으로 잡아주면서
층(i)가 기준 k보다 높아서 inven에다가 넣어줄지
기준 k보다 낮아서 땅을 필요로 하는지(need)를 계산해주고
need <= inven 일 경우에만, ansheight랑 anstime을 비교해줍니다.
자꾸 틀렸습니다가 나와서 다른 분들의 코드를 참고해봤는데
같은 로직으로 푸신 분들이 계신걸 보니, 로직상의 문제는 아닌 것 같고
구현이 잘못된거같은데 못찾겠네요.. ㅠㅠㅠ
if (arr[k] == 0) continue; //블록이 없는 경우 그냥 넘어감 == 해당 층이 없다는 뜻
if (arr[i] == 0) continue; //블록이 없는 경우 그냥 넘어감 == 해당 층이 없다는 뜻
해당 부분들을 없애주니 맞았습니다.
근데 왜 맞은건지는 아직도 모르겠네요 ㅠㅠ...
블록이 없는 층이 최종적인 위치가 될 수 있어서 그런 것 같아요
감사합니다!!!!
댓글을 작성하려면 로그인해야 합니다.
jeongbeen 3년 전
각 높이별로 블록이 몇 개 있는지 저장하고,
가장 낮은 층을 minn으로, 가장 높은 층을 maxx로 잡아줍니다.
minn ~ maxx 사이를 기준 k으로 잡아주면서
층(i)가 기준 k보다 높아서 inven에다가 넣어줄지
기준 k보다 낮아서 땅을 필요로 하는지(need)를 계산해주고
need <= inven 일 경우에만, ansheight랑 anstime을 비교해줍니다.
자꾸 틀렸습니다가 나와서 다른 분들의 코드를 참고해봤는데
같은 로직으로 푸신 분들이 계신걸 보니, 로직상의 문제는 아닌 것 같고
구현이 잘못된거같은데 못찾겠네요.. ㅠㅠㅠ