본문 바로가기
BOJ

[python] 백준 1027번 - 고층 건물

by yujinkimkim 2023. 7. 26.

1027번: 고층 건물 (acmicpc.net)

 

1027번: 고층 건물

세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작)

www.acmicpc.net

import sys
input = sys.stdin.readline

n = int(input())
arr = list(map(int, input().split()))

def lean(x1, x2, y1, y2):
    return (y2-y1)/(x2-x1)

res = 0
for idx, value in enumerate(arr):
    cnt = 0
    left = float('inf')
    right = -float('inf')

    for i in range(idx-1, -1, -1):
        temp = lean(idx+1, i+1, value, arr[i])
        if temp < left:
            left = temp
            cnt += 1

    for i in range(idx+1, n):
        temp = lean(idx+1, i+1, value, arr[i])
        if temp > right:
            right = temp
            cnt += 1

    res = max(res, cnt)

print(res)

저거 왼쪽 오른쪽 기울기 크기 최대한 크게 잡아야 틀렸다 안 나와서 저렇게 했어요

구글링 했슴니다

 

[백준 알고리즘: python 3] #1027 - 고층 건물 — 네로의 다락방 (tistory.com)

 

댓글