[알고리즘 문제풀이] 트로피 진열

황인권·2023년 3월 22일
0

알고리즘 문제풀이

목록 보기
22/81

문제 제목 : 트로피 진열

문제 난이도 : 하

문제 유형 : 탐색

https://www.acmicpc.net/problem/1668
시간 제한 : 2초
메모리 제한 : 128MB

문제풀이 아이디어

  1. 트로피 개수(N)은 (1 <= N <= 50)이다 트로피의 높이는 최대 100이다.
  2. 왼쪽에서 보거나 오른쪽에서 보이는 트로피의 개수는 숫자들의 오름차순이라 생각할 수 있다. -> 현재의 트로피의 높이보다 큰 높이이면 되므로
  3. 반대편의 개수는 python의 reverse를 사용하여 데이터를 뒤집은 상태로 찾을 수 있다.

< 소스코드 >

def ascending(array):
    now = array[0]
    result = 1
    for i in range(1, len(array)):
        if now < array[i]:
            result += 1
            now = array[i]
    return result

n = int(input())
array = []

for _ in range(n):
    array.append(int(input()))

print(ascending(array))
array.reverse() # 반대편 개수 구하기 위해서
print(ascending(array))
profile
inkwon Hwang

0개의 댓글