Python3/백준 알고리즘
2022.02.28 [백준] (python 파이썬) 막대기
ian's coding
2022. 2. 28. 01:28
728x90
반응형
https://www.acmicpc.net/problem/17608
17608번: 막대기
아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로
www.acmicpc.net
풀이
해당 문제는 입력된 순서대로 막대를 줄세운 뒤, 오른쪽에서 봤을 때 보이는 막대의 갯수를 세는 문제이다.
즉 배열의 오른쪽에서 부터 배열 값을 뽑아서 변수 a에 저장 뒤 max와 비교해서 크면 max값을 업데이트시켜주고 cnt를 증가시켰다. a가 max보다 크다는 의미는 뒤에있으면서 앞에 있는 막대들보다 크다는 의미이기 때문이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
import sys
input=sys.stdin.readline
stack=[]
for _ in range(int(input())):
stack.append(int(input()))
max=0
cnt=0
while stack:
a=stack.pop()
if max<a:
cnt+=1
max=a
print(cnt)
|
cs |
728x90
반응형