11736. 평범한 숫자

jp·2021년 9월 17일
0

SWEA

목록 보기
1/4

문제

코드

#11736. 평범한 숫자
T = int(input())
for tc in range(1, T+1):
    N = int(input())
    pi = list(map(int, input().split()))
    cnt = 0
    for i in range(N):
        if 0 <= i-1 < N and 0 <= i+1 < N:
            if pi[i-1] < pi[i] < pi[i+1] or pi[i-1] > pi[i] > pi[i+1]:
                cnt+=1
    print('#{} {}'.format(tc, cnt))

풀이

문제는 거창하였으나 숫자 i를 양옆과 비교해서 중간값인지 검증하면 되는 문제였다.
그냥 무식하게 비교할 인덱스가 범위 안에 있는지 확인하고 중간값을 확인하는 if를 만들어 비교했는데 더 간결하게 할 수 있지 않을까? 고민하다가 그냥 제출... 다행이 pass긴 한데 코드 간결화를 생각해 봐야겠다
/ + 애초에 for의 시작을 1, N-1로 해버리면 if검증을 하지 않아도 된다!!!

근데 왜 이게 D3이지...?

profile
응애 개발자지망생이 알고리즘에 고통받는 중

0개의 댓글

관련 채용 정보