1부터 n까지의 수를 한 번씩만 사용하여 이루어진 수열이 있을 때, 1부터 n까지 각각의 수 앞 에 놓여 있는 자신보다 큰 수들의 개수를 수열로 표현한 것을 역수열이라 한다. 예를 들어 다음과 같은 수열의 경우 4 8 6 2 5 1 3 7 1앞에 놓인 1보다 큰 수는 4, 8, 6, 2, 5. 이렇게 5개이고, 2앞에 놓인 2보다 큰 수는 4, 8, 6. 이렇게 3개, 3앞에 놓인 3보다 큰 수는 4, 8, 6, 5 이렇게 4개...... 따라서 4 8 6 2 5 1 3 7의 역수열은 5 3 4 0 2 1 1 0 이 된다. n과 1부터 n까지의 수를 사용하여 이루어진 수열의 역수열이 주어졌을 때, 원래의 수열을 출 력하는 프로그램을 작성하세요
import sys
# sys.stdin=open("input.txt","rt")
# n,m = map(int,input().split())
n = int(input())
arr = list(map(int,input().split()))
# n = input()
# arr = [list(map(int,input().split())) for _ in range(n)]
# arr = [int(input()) for _ in range(n)]
res = 0
a = [n for _ in range(len(arr))]
for i in range(n):
# 0,1,2,3,4,5,6,7
index = arr[i] # 5,3,4,0,2,1,1,0
for j in range(n):
if j>index:
break
if a[j] < i+1:
index +=1
a[index] = i+1
for m in a:
print(m,end=' ')'코테연습 > python' 카테고리의 다른 글
| 가운데 글자 가져오기 (0) | 2026.04.27 |
|---|---|
| 가장 큰 수 (1) | 2026.04.26 |
| 시저 암호 (1) | 2026.04.25 |
| 문자열을 정수로 바꾸기 (1) | 2026.04.25 |
| 수박수박수박수박수박수? (0) | 2026.04.25 |