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
반응형
'Python3 > 백준 알고리즘' 카테고리의 다른 글
2022.02.28 [백준] (python 파이썬) 다리 놓기 (0) | 2022.02.28 |
---|---|
2022.02.28 [백준] (python 파이썬) 안정적인 문자열 (0) | 2022.02.28 |
2022.02.26 [백준] (python 파이썬) 집합 (0) | 2022.02.26 |
2022.02.26 [백준] (python 파이썬) 듣보잡 (0) | 2022.02.26 |
2022.02.26 [백준] (python 파이썬) 나는야 포켓몬 마스터 이다솜 (0) | 2022.02.26 |
댓글