λ°μν
λ¬Έμ
https://www.acmicpc.net/problem/2346
2346λ²: νμ ν°λ¨λ¦¬κΈ°
1λ²λΆν° Nλ²κΉμ§ Nκ°μ νμ μ΄ μνμΌλ‘ λμ¬ μκ³ . iλ² νμ μ μ€λ₯Έμͺ½μλ i+1λ² νμ μ΄ μκ³ , μΌμͺ½μλ i-1λ² νμ μ΄ μλ€. λ¨, 1λ² νμ μ μΌμͺ½μ Nλ² νμ μ΄ μκ³ , Nλ² νμ μ μ€λ₯Έμͺ½μ 1λ² νμ
www.acmicpc.net
νμ΄
μ¬λ°μλ λ¬Έμ
μ²μμ ArrayListλ‘ νλ€κ° λ€μ λ°°μ΄λ‘ λ°κΏμ νμλ€.
indexκ°μ μ°Έμ‘°ν΄μΌνκΈ° λλ¬Έμ,,
package algorithm;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Balloon_2346 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// n λ°°μ΄ ν¬κΈ°, λ°°μ΄μ κ°κ° κ° λ°κΈ°
int n = Integer.parseInt(br.readLine());
int[] list = new int[n];
int[] answer = new int[n];
int index = 0;
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
list[i] = Integer.parseInt(st.nextToken());
}
for (int i = 0; i < list.length - 1; i++) {
int num = list[index]; // list[index] κ°μ numμΌλ‘ κ°μ Έμ num μλ§νΌ μ΄λνκΈ°
list[index] = 0;
answer[i] = index + 1;
int k = 0;
while (k < Math.abs(num)) { // 0μ΄λΌλ©΄ 건λ λΈκ±°μ
System.out.println("k :" + k);
if (num > 0) { // numμ΄ μμλΌλ©΄ μ€λ₯Έμͺ½μΌλ‘
if (index + 1 >= list.length) { // indexκ° λ°°μ΄ ν¬κΈ°λ³΄λ€ 컀μ§λ©΄ μ€μ¬μ£ΌκΈ°
index -= list.length;
}
if (list[index + 1] != 0) { // κ°μ΄ μλ€λ©΄ count
k++;
index++;
} else { // κ°μ΄ 0μ΄λ 건λ λ°κΈ°
index++;
}
} else { // numμ΄ μμλΌλ©΄ μΌμͺ½μΌλ‘
if (index - 1 < 0) {
index += list.length; // indexκ° 0λ³΄λ€ μλ€λ©΄ λν΄μ£ΌκΈ°
}
if (list[index - 1] != 0) { // κ°μ΄ μλ€λ©΄ count
k++;
index--;
} else { // κ°μ΄ 0μ΄λ 건λ λ°κΈ°
index--;
}
}
}
}
answer[answer.length - 1] = index + 1; // λ§μ§λ§ λ°© (ν do whileλ₯Ό μΌμ΄μΌ νλ)
for (int i = 0; i < answer.length; i++) { // λ΅ μΆλ ₯
System.out.print(answer[i] + " ");
}
}
}
μ λ΅
λ°μν
'π°ππππππππ > π±πππππππ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/Java] λ± 10866 (0) | 2023.11.22 |
---|---|
[λ°±μ€/Java] 볡νΈν 9046 (0) | 2023.11.18 |
[λ°±μ€/Java] ν 2 18258 (0) | 2023.11.15 |
[λ°±μ€/Java] μ°½μλ§μ 3028 (0) | 2023.11.13 |
[λ°±μ€/Java] κ²½κ³ 3029 (1) | 2023.11.12 |