문제
풀이
- 브루트 포스, 완전탐색
- 왼쪽에서 볼 때와 오른쪽에서 볼때로 나누어 max값은 배열의 끝 값(왼쪽/ 오른쪽)으로 초기화
- 왼쪽에서 볼 때, arr[i+1]이 max값보다 크면 cnt 증가
- 오른쪽에서 볼 때, arr[i]가 max보다 크면 cnt 증가
- 반례 4 1 100 2 99 를 넣어보고나서 문제를 해결할 수 있었다.
코드
n = int(input())
arr = []
for _ in range(n):
arr.append(int(input()))
# 왼쪽에서 볼 때
cnt, maxNum = 1, arr[0] # max값 = arr[0]
for i in range(0, n-1):
if arr[i+1] > maxNum:
cnt += 1
maxNum = arr[i+1]
print(cnt)
# 오른쪽에서 볼 때
cnt, maxNum = 1, arr[n-1] # max값 = arr[n-1]
for i in range(n-1, -1, -1):
if arr[i] > maxNum:
cnt += 1
maxNum = arr[i]
print(cnt)
'코딩테스트 > BOJ' 카테고리의 다른 글
[백준/파이썬] 1436번: 영화감독 숌 (Python) (0) | 2021.04.14 |
---|---|
[파이썬/백준] 3040번: 백설 공주와 일곱 난쟁이 (Python) (0) | 2021.04.14 |
[백준/파이썬] 2858번: 기숙사 바닥 (Python) (0) | 2021.04.13 |
[Python/백준] 2798번: 블랙잭 (Python) (0) | 2021.04.12 |