💻 Coding Problems Solving/Array | String | Loop
[BOJ 24337] 가희와 탑
Kim_dev
2023. 6. 14. 20:50
[BOJ 24337] 가희와 탑
1. 문제 : https://www.acmicpc.net/problem/24337
2. 풀이
일단 순차적으로 양쪽에서 더해주고
남은 값만큼 1을 더해줌
이때 a가 1인 경우 인덱스를 다르게하여 1을 추가해줌
3. 코드
import java.util.*;
public class Main {
static int N, a, b;
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
a = sc.nextInt();
b = sc.nextInt();
List<Integer> li = new ArrayList<>();
if (a + b > N + 1) {
System.out.print(-1);
return;
}
for (int i = 1; i < a; i++) {
li.add(i);
}
li.add(Math.max(a, b));
for (int i = b - 1; i >= 1; i--) {
li.add(i);
}
if (a == 1) {
while (li.size() < N) {
li.add(1, 1);
}
} else {
while (li.size() < N) {
li.add(0, 1);
}
}
for (int i : li) {
System.out.print(i + " ");
}
}
}