728x90
📌 문제
https://swexpertacademy.com/main/main.do
📌 문제 접근 방법
- i를 기준으로 양 옆 2개를 포함한 5개를 리스트에 넣는다.
- 리스트 안에서 가장 값이 큰(높은) 수에서 두 번째로 큰 수를 빼면 조망권
- i를 계속 바꿔가면서 조망권을 더한다.
- 각각 양쪽 2칸씩은 공백이므로 범위는 range(2, N-2)
📌 코드
import sys
sys.stdin = open('input.txt')
for t in range(1, 11) :
N = int(input())
high = list(map(int, input().split()))
result = 0
for i in range(2, N-2) :
temp = []
temp.append(high[i-2])
temp.append(high[i-1])
temp.append(high[i])
temp.append(high[i+1])
temp.append(high[i+2])
cnt = len(temp)-1
while cnt :
for j in range(cnt) :
if temp[j] > temp[j+1] :
temp[j], temp[j+1] = temp[j+1], temp[j]
cnt -= 1
if temp[-1] == high[i] :
result += temp[-1] - temp[-2]
print(f'#{t} {result}')
728x90
'ALGORITHM > SW Expert Academy' 카테고리의 다른 글
[SWEA/Python] 4835. 구간합 (0) | 2021.08.13 |
---|---|
[SWEA/Python] 4831. 전기버스 (0) | 2021.08.13 |
[SWEA/Python] 1954. 달팽이 숫자 (0) | 2021.08.09 |
[SWEA/Python] 1945. 간단한 소인수분해 (0) | 2021.08.09 |
[SWEA/Python] 6217. 객체지향 3 (0) | 2021.07.30 |
댓글