jungyoonoh / unit-study

Problem Solving Study
4 stars 4 forks source link

4주차 과제: (2) 백준 14719 빗물 #16

Closed jungyoonoh closed 2 years ago

jungyoonoh commented 2 years ago

https://www.acmicpc.net/problem/14719 빗물 문제를 풀어주세요

jungyoonoh commented 2 years ago

https://github.com/jungyoonoh/unit-study/blob/main/Yoonoh/Baekjoon/Implementation/14719_%EB%B9%97%EB%AC%BC.py

  1. -> 방향으로 진행하면서 pivot값 이상의 블록이 나올때마다 빗물 값 추가 후 stack.clear()
  2. pivot 미만의 값은 stack에 계속 추가
  3. 끝까지 돌았는데 stack이 비지 않았을 경우 (pivot값이 너무 크거나 내림차순 등) stack의 블록의 역순에 대해 1~2 반복 ✔️ 완료
SoominRyu commented 2 years ago

https://github.com/SoominRyu/unit-study/blob/main/Soomin/Baekjoon/Implementation/14719%20%EB%B9%97%EB%AC%BC.py

*문제 그림을 상-하 반전으로 보기

  1. 블록이 있는 곳은 1, 없는 곳은 0으로 채워줌
  2. 1과 1 사이에 있는 0만 빗물이 고일 수 있음 --> 해당 0의 개수 체크

완료 ✅

Seon-Ju commented 2 years ago

https://github.com/Seon-Ju/unit-study/blob/main/Seonju/Baekjoon/Implementation/14719_%EB%B9%97%EB%AC%BC.py

  1. 2차원 그래프를 만들어 블록이 있는 곳은 1 없는 곳은 0 저장
  2. 한 행마다 index(1)을 이용해 1이 가장 처음 등장하는 위치를 찾고, 해당 위치에서부터 행의 마지막 위치까지 탐색하면서 빗물이 고일 때마다 ans에 빗물 양을 더해줌

✔️ 완료