728x90
반응형
문제 요약
그림과 같이, 오른쪽에서 봤을 때 몇 개의 막대가 보이는지 출력하는 프로그램을 만들어라
입력
첫 행은 막대기의 개수를 나타내는 정수 N 입력 (2 ≤ N ≤ 100,000)
이어지는 N줄 각각에는 막대기의 높이를 나타내는 정수 h(1 ≤ h ≤ 100,000) 입력
출력
오른쪽에서 N개의 막대기를 봤을 때, 보이는 막대기의 개수 출력
입출력 예시
입력 | 출력 |
6 6 9 7 6 4 6 |
3 |
5 5 4 3 2 1 |
5 |
코드
import sys
heights = []
N = int(sys.stdin.readline())
n = current_h = before_h = 0
for i in range(N):
heights.append(int(sys.stdin.readline()))
for _ in range(N):
current_h = heights.pop()
if current_h > before_h:
n += 1
before_h = current_h
print(n)
피드백
colab에서 readline로 입력받는 코드를 사용했더니 계속 입력이 안받아졌다.
왜이렇게 안되나 했는데 파이참으로 하니까 같은 코드인데도 오류가 나지 않았다.
readline을 사용하지 않고 input으로 입력하는 버릇을 들였더니 여기서도 input을 입력받아서 시간초과로 틀렸다.
readline이 불편하다고 안써버릇하니 계속 안쓰게 됐다.
readline 쓰는 버릇을 들이자.
728x90
반응형
'알고리즘' 카테고리의 다른 글
[문자열] 2744번 대소문자 바꾸기 (1) | 2021.05.18 |
---|---|
[정렬] 백준 2752번 세수정렬 Python 풀이 (0) | 2021.05.15 |
[자료구조:스택] 백준 20001번 고무오리 디버깅 Python 풀이 (0) | 2021.05.14 |
[구현] 백준 1380번 귀걸이 Python 풀이 (0) | 2021.05.11 |
[구현] 백준 1225번 이상한 곱셈 Python 풀이 (0) | 2021.05.10 |