728x90
반응형
문제
https://www.acmicpc.net/problem/17608
표준 입력을 사용하기 위해 sys 모듈 추가.
정수 하나 입력.
입력받은 정수 만큼 추가적으로 숫자들 입력받아 리스트에 저장.
import sys
n = int(input())
nums = [int(sys.stdin.readline()) for _ in range(n)]
보이는 막대기의 수를 저장하기 위한 변수 생성 (1로 초기화 - 맨 앞은 무조건 보이기 떄문 => 리스트의 우측(뒤) 기준).
지금까지 확인한 막대기 중 가장 긴 막대기의 길이를 저장하기 위한 변수 생성.
=> 리스트의 맨 뒤의 요소를 저장하고 있음.
count = 1
curr = nums[-1]
리스트의 뒤에서 두 번째 요소부터 맨 앞까지 탐색.
- 만약 현재 가지고 있는 막대기의 길이보다 더 긴 막대기라면
-- 막대 정보 갱신.
-- 개수 증가.
개수 출력.
for i in range(n-2, -1, -1):
if nums[i] > curr:
curr = nums[i]
count += 1
print(count)
전체 코드.
import sys
n = int(input())
nums = [int(sys.stdin.readline()) for _ in range(n)]
count = 1
curr = nums[-1]
for i in range(n-2, -1, -1):
if nums[i] > curr:
curr = nums[i]
count += 1
print(count)
728x90
반응형
'코딩 > 공부' 카테고리의 다른 글
[Python] 백준 19939번 - 박 터뜨리기 (1) | 2024.03.16 |
---|---|
[Python] 백준 17614번 - 369 (0) | 2024.03.16 |
[Python] 백준 1715번 - 카드 정렬하기 (0) | 2024.03.12 |
[Python] 백준 1541번 - 잃어버린 괄호 (0) | 2024.03.12 |
[Python] 백준 11047번 - 동전 0 (0) | 2024.03.12 |