문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
정수 n이 연속해서 주어진다. p(1), p(2), ..., p(n) 각 요소들은 별개이며 1 <= p(x) <= n로 이루어진다. 각 x는 1 <= x <= n이고, 1부터 n까지 증가한다. y가 p(p(y)) ≡ x 인 것을 찾아야 한다. 그리고 반환하는 배열에 y 값들이 유지해야 한다.
p = [5, 2, 1,3 ,4]
1에서 5사이인 x는 다음과 같다.
y의 값은 [4, 2, 5, 1, 3]이다.
permutationEquation 함수를 완성해라.
permutationEquation 함수는 아래와 같은 매개변수를 가지고 있다.
public static List<Integer> permutationEquation(List<Integer> p) {
int[] arr = new int[p.size()];
for(int i = 1; i <= p.size(); i++){
arr[p.get(p.get(i - 1) - 1) - 1] = i;
}
List<Integer> result = Arrays.stream(arr).boxed().collect(Collectors.toList());
return result;
}