Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- 뉴욕양키스직관
- 코딩테스트
- 프로그래머스
- 자료구조
- 시티바이크
- 뉴욕여행
- 알고리즘
- 뉴욕현대미술관
- 그랜드센트럴터미널
- RGB거리
- 플랫아이언빌딩
- JWT
- 록펠러센터
- 컬럼비아대학교
- 덤보
- 슬라이딩 윈도우
- 뉴욕
- 현대오토에버 1차면접
- 백준
- 미국여행
- 파이썬
- dfs
- bfs
- 플랫아이언
- 현대오토에버 코딩테스트
- 단어변환
- 다이나믹프로그래밍
- 에어프레미아
- 취준
- 현대오토에버
Archives
- Today
- Total
기록용
백준 6198 옥상정원꾸미기 - 파이썬 본문
# N^2풀이에서 최적화 방법을 떠올리지 못해 정답 구글링함
import sys
input = sys.stdin.readline
n = int(input())
arr = []
stk = []
cnt = 0
for i in range(n):
arr.append(int(input()))
for b in arr:
while stk and stk[-1] <= b:
stk.pop()
stk.append(b)
cnt += len(stk)-1
# 스택에서 현재 빌딩높이보다 작은것들은 다 빼주고 현재 빌딩보다 높은 빌딩들만 남겨놓음
# 스택길이 = 현재 빌딩의 옥상을 볼 수 있는 빌딩의 개수
print(cnt)
스택에 있는 빌딩의 높이가 현재 참조중인 빌딩의 높이보다 작으면 싹 다 빼줌
'코딩테스트' 카테고리의 다른 글
백준 11003 최솟값 찾기 - 파이썬 (0) | 2023.09.14 |
---|---|
백준 5430 AC - 파이썬 (0) | 2023.09.14 |
백준 1149 - RGB거리 (Python) (0) | 2023.08.20 |
프로그래머스 - 단어변환 (Python) (0) | 2023.08.11 |
프로그래머스 - 게임 맵 최단거리 (Python) (0) | 2023.08.10 |