Python/백준 (BOJ)

[BOJ][B2]트로피 진열 - 1668

ㅋㅋ! 2025. 8. 6. 13:00

https://www.acmicpc.net/problem/1668

문제 전문은 링크 참조

문제 가공

문제가 서술형으로 되어있고, 이해하는데 시간이 걸린다.

이해하기 쉽게 정리하자.

  1. 트로피가 1열로 줄서있다. ( 1열 종대)
  2. 트로피의 크기가 if 앞 트로피 > 뒤 트로피 : 앞 트로피만 보인다
  3. 앞에서 봤을때, 뒤에서 봤을때 보이는 트로피 수를 출력

코드 작성

앞에서 보건, 뒤에서 보건 진열된 트로피에서 보이는 갯수만 찾으면 된다.

이 특징을 살려서 함수를 하나 만들고

앞에서 시작할때, 뒤에서 시작할때의 배열로 함수를 호출하자.

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