SWEA 1206. [S/W 문제해결 기본] 1일차 - View

비만다람쥐·2024년 5월 9일
0
post-custom-banner

문제

문제바로가기

1.강변에 N개의 빌딩이 있을 때, 오른쪽과 왼쪽 모두 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다
2.조망권이 확보된 세대의 수를 출력한다

접근하기

1.강변에 세워져 있는 빌딩을 리스트에 적는다
2.좌우 2칸의 최대값이 있으면 내 높이보다 그 최대값이 작으면 그 차이만큼 조망 확보
3.최대값 변수 설정

풀이

T = 10

for t in range(1,T+1):
    N = int(input())
    lst = list(map(int,input().split()))
    ans = 0 #정답 변수 설정

    for i in range(2,N-2): #좌우로 00 00 이 주어지므로 i의 범위는 2~N-2까지이다
        mx = lst[i-2] 최대값을 i기준으로 2칸 왼쪽에 있는걸로 설정
        for j in range(i-1,i+3): i기준으로 좌우를 돌며 최대값을 구한다
            if j == i:
                continue
            else:
                if mx < lst[j]:
                    mx = lst[j]
        if lst[i] > mx:
            ans += lst[i] - mx
    
    print(f'#{t} {ans}')
profile
개발자가 되고싶은 사람
post-custom-banner

0개의 댓글