
https://www.acmicpc.net/problem/1668
문제 전문은 링크 참조
문제 가공
문제가 서술형으로 되어있고, 이해하는데 시간이 걸린다.
이해하기 쉽게 정리하자.
- 트로피가 1열로 줄서있다. ( 1열 종대)
- 트로피의 크기가 if 앞 트로피 > 뒤 트로피 : 앞 트로피만 보인다
- 앞에서 봤을때, 뒤에서 봤을때 보이는 트로피 수를 출력
코드 작성
앞에서 보건, 뒤에서 보건 진열된 트로피에서 보이는 갯수만 찾으면 된다.
이 특징을 살려서 함수를 하나 만들고
앞에서 시작할때, 뒤에서 시작할때의 배열로 함수를 호출하자.
def getCnt(arr):
max_h = 0
cnt = 0
for i in arr:
if i > max_h:
max_h = i
cnt += 1
return cnt
N = int(input())
cups = []
for _ in range(N):
cups.append(int(input()))
print(getCnt(cups))
print(getCnt(cups[::-1])) # 배열을 거꾸로
리뷰
서술형 문제는 이해하는데 시간이 걸린다.
'Python > 백준 (BOJ)' 카테고리의 다른 글
| [BOJ][B2]암호- 1718 (0) | 2025.08.10 |
|---|---|
| [BOJ][B2]손익분기점-1712 (1) | 2025.08.09 |
| [BOJ][B2]줄 세우기 - 1681 (1) | 2025.08.08 |
| [BOJ][B2]치킨 쿠폰 - 1673 (1) | 2025.08.07 |
| [BOJ][B2]영식이와 친구들 - 1592 (4) | 2025.08.05 |