SWEA

[D3] SWEA 1206. [S/W 문제해결 기본] 1일차 - View

코테봇 2024. 4. 30. 10:37

1. 접근 방식

친절하다.

그래프의 표의 값을

배열로 옮겨보고,

그래프를 보면서 천천히 관찰하면 된다.

 

2. 디테일한 구현

자신의 인덱스 ~2~2에서

자신이 가지고 있는 값이 가장 커야하고

이 중에서 자신과 자신 아닌 값의 차이가 가장 작은 값을 고르면 된다.

 

3. 코드 구현

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
if __name__=='__main__':
    sys.stdin=open('input2.txt','r')   
    
    
    #test_case=int(input()) ## 총 테스트 케이스 개수
   
    for tc in range(10):
        n=int(input())
        s=list(map(int,input().split()))
        res=0
        for i in range(2,n-2):
            if s[i]>0:
                tmp=[]
                for j in [i-2,i-1,i+1,i+2]:
                    if s[i]-s[j]>0:
                        tmp.append(s[i]-s[j])
                    else:
                        break 
                if len(tmp)==4:
                    res+=min(tmp)
 
        print(f'#{tc+1} {res}')
                 
 
cs

 

 

 

4. 깨달은 점 및 반성

천천히 잘하자.