SWEA(Python) 풀이/D3

SWEA[D3] (Python) 11736번 평범한 숫자 풀이

개발윗미 2022. 5. 17. 12:55

Python으로 구현한 11736번 평범한 숫자 문제 풀이입니다.

 

https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=3&contestProbId=AXhh-H-KwUcDFARQ&categoryId=AXhh-H-KwUcDFARQ&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=PYTHON&select-1=3&pageSize=10&pageIndex=2 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


t = int(input())

for tc in range(1, t + 1) :
    n = int(input())
    data = list(map(int, input().split()))
    result = 0

    for i in range(1, n - 1) :
        left, right = data[i-1], data[i+1]
        if data[i] != min(left, right, data[i]) and data[i] != max(left, right, data[i]) :
            result += 1

    print('#%d %d' % (tc, result))

 

1. 각 테스트 케이스마다 n개의 수를 입력받아 data 리스트에 저장한다.

 

2. 1번째 요소부터 n - 2번째 요소를 각 확인하며, 각 인덱스의 이전 data 값과 이후 data 값을 left, right에 할당한다.

 

3. 만약 현재의 값(data[i])이 left, right, data[i] 중 최솟값도, 최댓값도 아니라면 result를 1 증가시킨다.

 

4. 반복 수행이 끝나면 최종적으로 해당 테스트 케이스 번호와 함께 result를 출력한다.