n = int(input())
arr = list(map(int, input().split()))
field= [0]*105
a=[]
for i,v in enumerate(arr):
field[v]=i+1
for j in range(n):
a.append(str(field[j+1]))
print(" ".join(a))
배열 [2 3 4 1]의 경우 인덱스를 역으로 참조하여 배열 [4 1 2 3]처럼 만드는 문제이다.
총 100개의 인덱스를 가질 수 있다고 문제에 언급돼 있으니, 넉넉히 105개짜리 field배열을
만들어준다. (역인덱스를 저장할 배열)
파이썬에는 enumerate기능이 있어 너무나 쉽게 i가 인덱스 v가 값이라면 v를 인덱스로,
i를 값으로 하는 역참조를 할 수 있다. 단, 숫자들이 가리키는 것은 인덱스보다 1큰 숫자임으로
값에다 1을 더해줘야한다. 마지막에 join함수는 리스트의 원소들을 "", "" 형태가 아닌 "" 형태로 묶어준다.
'코드포스 풀이' 카테고리의 다른 글
코드포스 479A 풀이 (0) | 2022.01.30 |
---|---|
코드포스 122A 풀이 (0) | 2022.01.30 |
코드포스 1352A 풀이 (0) | 2022.01.29 |
코드포스 112A 풀이 (0) | 2022.01.29 |
코드포스 58A 풀이 (0) | 2022.01.29 |