문제
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5LrsUaDxcDFAXc
나의 코드 : 13분 52초
T = int(input())
for test_case in range(1, T+1):
answer = 0
N = int(input())
input_list = list(map(int, input().split()))
while len(input_list)!=0:
cut_idx = input_list.index(max(input_list))
input_list_before, input_list_after = input_list[:cut_idx+1],input_list[cut_idx+1:]
answer += sum([input_list_before[-1]-i for i in input_list_before])
input_list = input_list_after
print("#"+str(test_case),answer)
가장 큰 수를 찾아 앞부분까지 자른 다음 가장 큰 수와의 차이를 answer에 더한다.
가장 큰 수를 기준으로 자르면 두개의 리스트가 생기고 가장 큰 수가 before에 있다면 after는 다음 타겟 리스트로
이러한 행위를 반복하면 된다.
알게 된 점
a = [1, 2, 3]
a[3]을 하면 오류가 발생한다. 접근 가능한 인덱스 범위에 넘어갔기 때문이다
반대로 a[3:]이런식으로 접근하면 오류는 발생하지 않는다.
D3중에 정답률 낮은 문제 하나 골라서 풀어보다가 10개 중 1개를 통과하지 못하고 1시간 동안 삽질하다
포기하고 다른 공부를 하기위해 마무리 문제겸 이 문제를 해결하였다.
난 아직 한참 멀었다.....
'공부-코딩테스트 > 코테풀이 - 자바, 파이썬' 카테고리의 다른 글
1226. [S/W 문제해결 기본] 7일차 - 미로1 (코딩테스트, SW Expert Academy) (0) | 2022.05.25 |
---|---|
2806. N-Queen (코딩테스트, SW Expert Academy) (0) | 2022.05.12 |
5356. 의석이의 세로로 말해요 (코딩테스트, SW Expert Academy) (0) | 2022.05.10 |
1229. [S/W 문제해결 기본] 8일차 - 암호문2 (코딩테스트, SW Expert Academy) (0) | 2022.05.09 |
1220. [S/W 문제해결 기본] 5일차 - Magnetic (코딩테스트, SW Expert Academy) (0) | 2022.05.07 |
댓글