Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

73-tgyuuAn #239

Merged
merged 3 commits into from
Sep 20, 2024
Merged

73-tgyuuAn #239

merged 3 commits into from
Sep 20, 2024

Conversation

tgyuuAn
Copy link
Member

@tgyuuAn tgyuuAn commented Aug 26, 2024

🔗 문제 링크

Rain (Small)

플레티넘 5 문제인데, 요구하는 알고리즘이 측정된 티어에 비해 어렵지 않습니다.

조금만 생각해서 풀어보아요!!!!!!!!

✔️ 소요된 시간

30분

✨ 수도 코드

image

수영장 만들기 문제랑 문제가 너무 비슷해서 풀어봤는데,

실제로 풀이가 같습니다!




제한사항

테스트 케이스 = 최대 100개
섬의 높이 = 최대 1000
가로 세로 = 최대 10




문제 풀이는 간단합니다.

비가 들어올 수 있는 높이 height1 ~ 1000 까지 순회하면서,

height 높이까지 물이 찬다고 했을 때, 물이 저장될 수 있는 곳을 계속 기록해둡니다.

(매 높이마다 (0,0) 부터 (row, col)까지 다 순회합니다.)




이 때, 물이 찰 수 있는 곳은 height보다 지형이 낮아야 하며,

만약 해당 좌표로부터 BFS를 돌다가 가장자리가 닫혀있지 않고 경계를 만나게 되면 물을 채우지 못합니다.

image

image

image

출처







height 마다 위 로직을 반복하고, 물이 채울 수 있는 곳을 계속 max 값으로 갱신하면서 마지막에 Sum을 해주면 끝입니다!!!

📚 새롭게 알게된 내용

@tgyuuAn tgyuuAn added tgyuuAn 한 줄로는 소개할 수 없는 남자. 작성 중 ⏱️ labels Aug 26, 2024
@tgyuuAn tgyuuAn self-assigned this Aug 26, 2024
@tgyuuAn tgyuuAn marked this pull request as ready for review August 27, 2024 13:50
Copy link
Collaborator

@H0ngJu H0ngJu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3D로 설명된 글을 토대로 bfs 작성하고 풀릴듯 말듯해서 하루종일 쳐다봤는데,,,,
보면볼수록 뒤죽박죽이라 gg치고 태규님 pr 봤습니다 ...

수영장 문제보니까 거의 똑같네요 한글이냐 영어이냐 차이인듯요

흘러내리는 곳과 흘러내리지 않는 곳을 찾아서 어떻게 물칸 수를 세지?? 했는데
while & else를 보고 아하 했습니다 .....
bfs 돌려서 담을 수 있는 곳을 따로 저장하고, 걍 따로 물 칸 수를 세면 되는 거였군요 ......

보니까 이해는 가는데 안 풀리니까 찝찝하네요 ;; ㅋㅋ
좋은 문제 감사합니다 ~~~~ 조만간 꼭 다시 풀어보겠습니다

for height in range(1, 1001):
for start_row in range(row):
for start_col in range(col):
if board[start_row][start_col] >= height: continue
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

이 부분 어차피 board 최대- 1 만큼이 height에 들어갈거니까
따로 max_height을 설정하고, height 자체를 range(max_height)까지 돌려도 될 것 같아요!

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

오호라 맞습니다!!!!

그러면 좀 더 최적화할 수 있겠네용.

근데 WorstCase에서는 같을듯?!

@tgyuuAn tgyuuAn removed the request for review from SeongHoonC September 2, 2024 09:17
@tgyuuAn tgyuuAn removed the request for review from alstjr7437 September 20, 2024 01:08
@tgyuuAn tgyuuAn merged commit 26b43ef into main Sep 20, 2024
@tgyuuAn tgyuuAn deleted the 73-tgyuuAn branch September 20, 2024 01:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tgyuuAn 한 줄로는 소개할 수 없는 남자. 리뷰 완료 ✔️
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants