π λ¬Έμ μ€λͺ
μ μ¬μκ°μ΄ λλ©΄ λ° νμ λͺ¨λκ° ν μ€λ‘ μ€μ μμ κΈμμ νλ€. κ·Έλ°λ° λ§€μΌ κ°μ΄ μμ리μ μμ νμλ€μ΄ μμ μ€μ μ λ¨Όμ μ μ¬μ λ¨Ήκ³ , λ·μ리μ μμ νμλ€μ λ€μ μ€μ μ λ¦κ² μ μ¬μ λ¨Ήκ² λλ€. μ΄λ»κ² νλ©΄ μ΄λ¬ν μν©μ λ°κΎΈμ΄ λ³Ό μ μμκΉ κ³ λ―Όνλ μ€ μ μλμ΄ ν κ°μ§ λ°©λ²μ λ΄ λμλ€. κ·Έ λ°©λ²μ λ€μκ³Ό κ°λ€.
νμλ€μ΄ ν μ€λ‘ μ€μ μ ν, 첫 λ²μ§Έ νμλΆν° μ°¨λ‘λ‘ λ²νΈλ₯Ό λ½λλ€. 첫 λ²μ§Έλ‘ μ€μ μ νμμ 무쑰건 0λ² λ²νΈλ₯Ό λ°μ μ μΌ μμ μ€μ μ λ€. λ λ²μ§Έλ‘ μ€μ μ νμμ 0λ² λλ 1λ² λ μ€ νλμ λ²νΈλ₯Ό λ½λλ€. 0λ²μ λ½μΌλ©΄ κ·Έ μ리μ κ·Έλλ‘ μκ³ , 1λ²μ λ½μΌλ©΄ λ°λ‘ μμ νμ μμΌλ‘ κ°μ μ€μ μ λ€. μΈ λ²μ§Έλ‘ μ€μ μ νμμ 0, 1 λλ 2 μ€ νλμ λ²νΈλ₯Ό λ½λλ€. κ·Έλ¦¬κ³ λ½μ λ²νΈλ§νΌ μμλ¦¬λ‘ κ°μ μ€μ μ λ€. λ§μ§λ§μ μ€μ μ νμκΉμ§ μ΄μ κ°μ λ°©μμΌλ‘ λ½μ λ²νΈλ§νΌ μμΌλ‘ κ°μ μ€μ μκ² λλ€. κ°μ λ½μ λ²νΈλ μμ μ΄ μ²μμ μ μμ보λ€λ μμ μμ΄λ€.
μλ₯Ό λ€μ΄ 5λͺ
μ νμμ΄ μ€μ μκ³ , 첫 λ²μ§Έλ‘ μ€μ μ νμλΆν° λ€μ― λ²μ§Έλ‘ μ€μ μ νμκΉμ§ μ°¨λ‘λ‘ 0, 1, 1, 3, 2λ²μ λ²νΈλ₯Ό λ½μλ€κ³ νμ, 첫 λ²μ§Έ νμλΆν° λ€μ― λ²μ§Έ νμκΉμ§ 1λΆν° 5λ‘ νμνλ©΄ νμλ€μ΄ μ€μ μ μμλ λ€μκ³Ό κ°μ΄ λλ€.
- 첫 λ²μ§Έ νμμ΄ λ²νΈλ₯Ό λ½μ ν : 1
- λ λ²μ§Έ νμμ΄ λ²νΈλ₯Ό λ½μ ν : 2 1
- μΈ λ²μ§Έ νμμ΄ λ²νΈλ₯Ό λ½μ ν : 2 3 1
- λ€ λ²μ§Έ νμμ΄ λ²νΈλ₯Ό λ½μ ν : 4 2 3 1
- λ€μ― λ²μ§Έ νμμ΄ λ²νΈλ₯Ό λ½μ ν : 4 2 5 3 1
λ°λΌμ μ΅μ’
μ μΌλ‘ νμλ€μ΄ μ€μ μ μμλ 4, 2, 5, 3, 1μ΄ λλ€.
μ€μ μ νμλ€μ΄ μ°¨λ‘λ‘ λ½μ λ²νΈκ° μ£Όμ΄μ§ λ νμλ€μ΄ μ΅μ’
μ μΌλ‘ μ€μ μ μμλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
β¨ μ λ ₯
첫째 μ€μλ νμμ μκ° μ£Όμ΄μ§κ³ λμ§Έ μ€μλ μ€μ μ μ°¨λ‘λλ‘ νμλ€μ΄ λ½μ λ²νΈκ° μ£Όμ΄μ§λ€. νμμ μκ° 100 μ΄νμ΄κ³ , νμλ€μ΄ λ½λ λ²νΈλ 0 λλ μμ°μμ΄λ©° νμλ€μ΄ λ½μ λ²νΈ μ¬μ΄μλ λΉ μΉΈμ΄ νλμ© μλ€.
π» μΆλ ₯
νμλ€μ΄ μ²μμ μ€μ μ μμλλ‘ 1λ²λΆν° λ²νΈλ₯Ό λ§€κΈΈ λ, 첫째 μ€μ νμλ€μ΄ μ΅μ’ μ μΌλ‘ μ€μ μ μμλ₯Ό κ·Έ λ²νΈλ‘ μΆλ ₯νλ€. νμ λ²νΈ μ¬μ΄μλ ν μΉΈμ 곡백μ μΆλ ₯νλ€.
μμ μ λ ₯ 1
5
0 1 1 3 2
μμ μΆλ ₯ 1
4 2 5 3 1
π λ¬Έμ ν΄κ²°
1. νμμλ₯Ό ꡬνκ³ λ°°μ΄ λ§λ€κΈ°
2. νμ μλ§νΌ λ°λ³΅νλ©° μ λ ₯ λ°λ μ nλ§νΌ μμΌλ‘ κ°λλ‘ arrayList.add(index, value) μ¬μ©
package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// bufferedReader μ¬μ©ν΄ νμμ ꡬνκΈ°
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int student = Integer.parseInt(br.readLine());
// μ€μ μΈμ°κΈ° μν λ°°μ΄ λ§λ€κΈ°
ArrayList<Integer> order = new ArrayList<>();
StringTokenizer st = new StringTokenizer(br.readLine());
// νμ μλ§νΌ λ°λ³΅ -> μ
λ ₯ λ°λ μ n λ§νΌ μμΌλ‘ μ΄λ
for (int i = 0; i < student; i++) {
int n = Integer.parseInt(st.nextToken());
order.add(i - n, i + 1);
}
// μΆλ ₯
for (int i : order) {
System.out.print(i + " ");
}
}
}
β μλ‘κ² μκ² λ μ
ArrayListμμ indexλ₯Ό μ΄μ©ν΄ κ°μ μΆκ°νλ κ±Έ μλ‘ μκ² λμλ€.
- arrayList.add(index, value)