문제 바로가기
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
나의 코드 및 설명 01
- 현재 건물을 기준으로 양 옆의 네 건물들을 확인하여 조망권이 확보되었는지 파악하는 코드를 작성하였다.
for test_case in range(1, 11):
ans = 0
n = int(input()) # 건물의 개수
apt = list(map(int, input().split()))
for i in range(2, len(apt)):
#첫 번째 건물일 경우 뒤에 있는 건물 두개만 확인
if i == 2:
#현재 건물이 다음 건물과 그 다음 건물보다 클 경우에만 해당됨
if apt[i] > apt[i+1] and apt[i] > apt[i+2]:
#현재 건물의 높이에서 다음 건물과 다다음 건물 중 큰 것을 빼면 조망권이 확보된 세대수이다.
ans += apt[i]-max(apt[i+1],apt[i+2])
else:
continue
elif i >= len(apt)-2:
if apt[i] > apt[i-1] and apt[i] > apt[i-2]:
ans += apt[i]-max(apt[i-1],apt[i-2])
else:
continue
else:
if (apt[i] > apt[i-1] and apt[i] > apt[i-2]) and (apt[i] > apt[i+1] and apt[i] > apt[i+2]):
ans += apt[i] - max(apt[i-1],apt[i-2],apt[i+1],apt[i+2])
else:
continue
print("#{} {}".format(test_case, ans))
'SWEA (SW Expert Academy) > D3' 카테고리의 다른 글
[SWEA/D3] 2817 부분 수열의 합 / 백트래킹 (0) | 2023.04.17 |
---|---|
[SWEA/D3] 5215 햄버거 다이어트 / 백트래킹 (0) | 2023.04.13 |
[SWEA/D3] 13547 팔씨름 (0) | 2023.03.26 |
[SWEA/D3] 13732 정사각형 판정 (2시간 풀고 Pass..) / BFS, 이중 for문 한줄로 작성하기 (0) | 2023.03.26 |
[SWEA/D3] 14361 숫자가 같은 배수 (2) | 2023.03.19 |