[백준] 14179번 빗물 - python 파이썬

2024. 11. 27. 16:20·코딩테스트/백준

문제

 

이 문제의 key point는 빗물이 고이기 위해서는 양옆이 블록으로 막혀있어야 한다는 것이다.

 

그렇기 때문에 for문으로 반복문을 돌면서 현재 좌표를 기준으로 양옆에 막아주는 블록이 있어서 현재좌표에 빗물이 고일 수 있는지 여부를 체크해주었다.

 

left_max = max(arr[:i+1])
right_max = max(arr[i:])

compare = min(left_max,right_max)

 

현재 좌표 i의 양옆에서 각각의 max를 구한후 둘 중 작은 값을 구해준다. (현재 좌표에 빗물이 고이는 경우 더 작은 값과 비교를 해서 빗물이 얼마나 고였는지 판단해야되기 때문)

 

그 후 현재 좌표보다 높은지 (그래야 현재 좌표에 빗물이 고일 수 있음) , 그리고 양옆 블록이 0보다 높은지 (0이면 비가 고일 수 없음)

이 두가지를 체크해주면 된다.

 

if compare > 0 and compare > arr[i]:
        ans += compare - arr[i]

 

 

 

전체코드

h, w = map(int, input().split())
arr = list(map(int, input().split()))


ans = 0
for i in range(w):
    left_max = max(arr[:i+1])
    right_max = max(arr[i:])

    compare = min(left_max,right_max)
    #벽으로 둘러싸여있고 현재 i번쨰 부분에 물이 고인다면 추가
    if compare > 0 and compare > arr[i]:
        ans += compare - arr[i]





print(ans)

'코딩테스트 > 백준' 카테고리의 다른 글

[백준] 5557번 1학년 - python 파이썬  (0) 2024.12.17
[백준] 1038 감소하는 수 - python 파이썬  (0) 2024.12.10
[백준] 2166번 다각형의 면적 - python 파이썬  (2) 2024.11.27
[백준] 9205번 맥주마시면서 걸어가기 - python 파이썬  (2) 2024.11.20
[백준] 10799번 쇠막대기 - python 파이썬  (0) 2024.10.31
'코딩테스트/백준' 카테고리의 다른 글
  • [백준] 5557번 1학년 - python 파이썬
  • [백준] 1038 감소하는 수 - python 파이썬
  • [백준] 2166번 다각형의 면적 - python 파이썬
  • [백준] 9205번 맥주마시면서 걸어가기 - python 파이썬
hiwon
hiwon
천천히 굴러가는 코딩일기
  • hiwon
    하이원의 코딩 일기
    hiwon
  • 전체
    오늘
    어제
    • 분류 전체보기 (83)
      • 프론트엔드 (0)
        • react (0)
      • 백엔드 (13)
        • node.js (1)
        • spring (6)
      • 코딩테스트 (57)
        • 백준 (41)
        • 프로그래머스 (15)
      • 프로디지털아카데미 (9)
        • 클라우드 (1)
        • JavaScript (1)
      • github (1)
      • AWS (2)
      • Infra (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    신한투자증권
    알고리즘
    K디지털트레이닝
    github
    알파코캠퍼스
    백엔드
    백트래킹
    bastion host
    MSA
    python
    UnionFind
    BFS
    AWS
    kdt교육
    EC2
    다익스트라
    코딩테스트
    프로디지털아카데미
    IT기획
    프로그래머스
    백준
    깃허브
    프디아
    파이썬
    코테
    알파코
    Java
    그리디
    spring
    투포인터
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
hiwon
[백준] 14179번 빗물 - python 파이썬
상단으로

티스토리툴바