Notice
Recent Posts
Recent Comments
Link
뮁이의 개발새발
[JAVA] 백준 2605 줄세우기 본문
문제는 복잡한 듯 써있는데 사실상 번호가 늘어나는건 고려하지 않아도, 그만큼 빼주는것만 생각하면 된다...
걍 0~뽑은 번호 만큼 앞에가서 서면 되는 문제!
그래서 리스트로 구현해보았다.
<코드>
import java.util.LinkedList;
import java.util.Scanner;
public class P2_bj2605 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] student = new int[N + 1]; // 뽑은 번호표 저장
for (int i = 1; i <= N; i++) {
student[i] = sc.nextInt();
}
LinkedList<Integer> list = new LinkedList<Integer>();
list.add(1); // 무조건 첫번째 학생은 그냥 줄을 선다.
for (int i = 2; i <= N; i++) { //2번째학생부터..
int num = student[i]; // 뽑은 숫자 저장
if (num == 0) { // 만약 0이면 그냥 뒤에 가서 줄선다.
list.add(i);
}
if (num >= 1) { // 만약 1이상이면 뒤에서 그만큼 뺀 곳에 선다.
list.add(list.size() - num, i);
}
}
for (int i = 0; i < N; i++) { //리스트 출력은 0번째부터!
System.out.print(list.get(i) + " ");
}
}
}
'Algorithm' 카테고리의 다른 글
[JAVA] 백준 10157 자리배정 (0) | 2021.08.28 |
---|---|
[JAVA] 백준 2491 수열 (0) | 2021.08.27 |
[JAVA] 백준 2563 색종이 (0) | 2021.08.27 |
[JAVA] 백준 10026 적록색약 (DFS) (0) | 2021.08.27 |
[JAVA] 백준 2309 일곱 난쟁이 (0) | 2021.08.27 |
Comments