SWEA 1206 View - Python

homoonshi·2023년 11월 9일
0

SWEA

목록 보기
1/2

문제

  • 건물의 양쪽 거리 2 이상의 공간이 확보 될 때 조망권이 확보된다.
  • 조망권이 확보된 세대의 수를 반환하는 프로그램을 작성하시오.

해결 과정

1. max 함수로 양쪽을 확인

  • 런타임 에러로 실행되지 않는다. (시간 초과로 추정)

2. 양쪽 거리를 확인 후 조망권이 확보되지 않으면 건너뜀

  • 시간이 너무 많이 드는건지 (브루트 포스와 다름없기 때문일까?)
    런타임에러가 계속 떠서 이를 해결한 방법이다.
  • 먼저 오른쪽에 있는 건물들이 현재 보고 있는 건물보다 높다면 앞쪽으로 이동했다.
  • 오른쪽의 건물들이 나보다 낮지만, 왼쪽에 있는 건물들은 나보다 높을 수도 있다.
    왜냐하면 양쪽이 낮을 때 값을 처리하고 나서 오른쪽으로 3칸 이동했기 때문이다.
    (양쪽이 낮은 경우 우측의 두 건물들은 이미 조망권이 확보 되지 않음)
    이 경우 왼쪽의 건물들이 현재 건물들보다 높을 수도 있기에 확인해주었다.
  • 왼쪽에 있는 건물들이 나보다 높을 경우 이동해주는데, 이미 앞에서 오른쪽의 건물들이 현재 있는 건물보다 낮다는 것을 확인했기 때문에 조망권 확보가 안되므로 3칸 이동해준다.
  • 이런 방법으로 런타임 에러를 피할 수 있었다.
profile
하루공부

0개의 댓글