카드를 위 아래로 선택해 하나를 뺐을때 모든 카드를 순서대로 낼 수 있는지 확인하는 문제

n = int(input())
card = list(map(int, input().split()))
count = 1
check = True
while (len(card) > 0):
    if(card[0] == count):
        card.pop(0)
    elif(card[-1] == count):
        card.pop()
    else:
        check = False
        break
    
if check:
    print('YES')
else:
    print('NO')

이렇게 풀이했는데 완전히 연속되는 숫자가 아닌지 실패했다.

 

n = int(input())
card = list(map(int, input().split()))

check = True
while (len(card) > 0):
    if(card[0] == min(card)):
        card.pop(0)
    elif(card[-1] == min(card)):
        card.pop()
    else:
        check = False
        break
    
if check:
    print('YES')
else:
    print('NO')

가장 작은 카드를 비교하는거로 해결했다.

+ Recent posts