백준 문제 링크
증가 수열
- b는 b1<b2<b3... 이므로 n개의 1부터 증가하는 리스트(temp)를 만들어준다.
- 위에서 만든 리스트(temp)와
테스트 케이스의 리스트(lst)의 인덱스가 같을 때,
테스트 케이스의 값과 같다면 temp 에서 1 증가시켜준다.
예를 들어, lst = [1,2,3], temp = [1,4,5]이면
temp = [2,4,5]로 만들어준다.- temp 에서 반복문을 돌며 앞 뒤 값을 비교해서, 뒤의 값보다 앞의 값이 더 크면 뒤의 값에 (차이+1)만큼 더해준다
- 최솟값은 temp[-1]이다.
N = int(input())
for _ in range(N):
n = int(input())
temp = [i for i in range(1,n+1)]
lst = list(map(int, input().split()))
for i in range(len(temp)):
if temp[i] == lst[i]:
temp[i] += 1
for j in range(i+1, len(temp)):
if temp[j-1] >= temp[j]:
temp[j] += (temp[j-1] - temp[j]) + 1
print(temp[-1])