[SW Expert Academy] D3 1206번 [S/W 문제해결 기본] 1일차 - View(python)

good_da22·2022년 5월 3일
0

SW Expert Academy

목록 보기
2/20
post-thumbnail

SW Expert Academy

D3 1206번 [S/W 문제해결 기본] 1일차 - View / Python

문제

풀이과정

조망권이 성립되는 조건, 양쪽의 거리 최소 2이상 확보
거리 확보 위해선 거리 2 이내의 빌딩보다 높이가 높아야 한다.
왼쪽 빌딩과의 높이 계산, 오른쪽 빌딩과의 높이 계산 후
양쪽 빌딩보다 높은 층(왼쪽, 오른쪽 둘 중에서 작은 값)을 계산

소스코드

t = 10

answer = []

for i in range(t):
  n = int(input())
  height = list(map(int, input().split()))

  result = 0
  for j in range(2, n-2):
    left = height[j] - max(height[j-1], height[j-2])
    right = height[j] - max(height[j+1], height[j+2])
    if left > 0 and right > 0:
      result = min(left, right)

  answer.append(result)

for i in range(t):
  print("#%d %d" %(i+1, answer[i]))
profile
dev blog

0개의 댓글