반응형
Recent Posts
Notice
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
- 딥러닝
- 개발자 취업
- 프로그래머스
- softeer
- dfs
- 큐
- 99항해
- python 2309
- leetcode
- boj 2309
- 해시
- 스택
- 99클럽
- 백준
- 항해99
- Python
- BFS
- 기능개발
- BOJ
- 파이썬
- 알고리즘
- til
- easy 딥러닝
- 구현
- 활성화 함수
- 코딩테스트준비
- 개발자취업
- 코딩테스트 준비
- 혁펜하임
- 백준 2309
Archives
- Today
- Total
동까의 코딩
[Python] 백준 17608 : 막대기 본문
반응형
스택 문제 중 하나인 막대기를 풀어보았다.
https://www.acmicpc.net/problem/17608
17608번: 막대기
아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로
www.acmicpc.net
스택에 다 넣어주고 빼면서 높은 건물이 나올때 기준 높이를 바꿔주면 될 것 같다.
오른쪽부터 시작하니 맨 오른쪽을 기준 높이로 잡고 왼쪽으로 하나씩 확인해 나간다.
import sys
input = sys.stdin.readline
N = int(input())
stack = []
cnt = 1
for _ in range(N):
num = int(input())
stack.append(num)
right_stick = stack[N - 1]
idx = N - 2
while True:
if right_stick < stack[idx]:
cnt += 1
right_stick = stack[idx]
if idx == -1:
break
idx -= 1
print(cnt)
처음 제출 시 시간초과가 났었는데 input을 readline으로 바꿔주니 해당 이슈는 없어졌다.
오늘도 감사합니다.
반응형
'문제 풀이 > 백준' 카테고리의 다른 글
[Python] 백준 14503 : 로봇 청소기 (2) | 2024.04.04 |
---|---|
[Python] 백준 2161 : 카드1 (0) | 2024.04.03 |
[Python] 백준 20001 : 고무오리 디버깅 (0) | 2024.04.03 |
[Python] 백준 10816 : 숫자 카드 2 (0) | 2024.03.30 |
[Python] 백준 13565 : 침투 (1) | 2024.03.30 |