λ°μν
λ¬Έμ
https://www.acmicpc.net/problem/18115
18115λ²: μΉ΄λ λκΈ°
μνμ΄λ μΉ΄λ κΈ°μ μ μ°μ΅νκ³ μλ€. μνμ΄μ μμ λ€λ¦° μΉ΄λλ₯Ό νλμ© λ΄λ €λμ λ°λ₯μ μμΌλ €κ³ νλ€. μνμ΄κ° μΈ μ μλ κΈ°μ μ λ€μ 3κ°μ§λ€. μ μΌ μμ μΉ΄λ 1μ₯μ λ°λ₯μ λ΄λ €λλλ€.
www.acmicpc.net
νμ΄
μ²μμ ArrayListλ₯Ό μΌλλ° μκ° μ΄κ³Όκ° λ¬λ€
λ€μμ λ°°μ΄ μνν΄μ νμλλ°λ μκ° μ΄κ³Ό
λ€μμ indexλ‘ μ κ·Όνλ κ±Έλ‘ νμλ€.
κ·Έλ¬λλ ν΅κ³Ό
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[] list = new int[N];
int[] input = new int[N];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
input[i] = Integer.parseInt(st.nextToken());
}
int index1 = 0;
int index2 = 1;
int index3 = N - 1;
for (int i = 0, j = N; i < N; i++, j--) {
switch (input[i]) {
case 1:
list[index1] = j;
index2++;
index1 = index2 - 1;
break;
case 2:
list[index2] = j;
index2++;
break;
case 3:
list[index3] = j;
index3--;
break;
}
}
for (int i = 0; i < list.length; i++) {
bw.write(String.valueOf(list[i]) + " ");
}
bw.flush();
bw.close();
}
}
μ λ΅
λ°μν
'π°ππππππππ > π±πππππππ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/Java] μ κΈ°λ λ°°μΆ 1012 (1) | 2023.12.19 |
---|---|
[λ°±μ€/Java] μ€ν μμ΄ 1874 (0) | 2023.12.13 |
[λ°±μ€/Java] μνκ°λ μ 1436 (0) | 2023.12.07 |
[λ°±μ€/Java] νΌλ³΄λμΉ ν¨μ 1003 (2) | 2023.12.04 |
[λ°±μ€/Java] LCM 5347 (1) | 2023.12.03 |