백준

백준 2605 줄 세우기(Java)

Park DJ 2023. 1. 12. 20:15

https://www.acmicpc.net/problem/2605

 

2605번: 줄 세우기

점심시간이 되면 반 학생 모두가 한 줄로 줄을 서서 급식을 탄다. 그런데 매일 같이 앞자리에 앉은 학생들이 앞에 줄을 서 먼저 점심을 먹고, 뒷자리에 앉은 학생들은 뒤에 줄을 서 늦게 점심을

www.acmicpc.net

2605번: 줄 세우기 (acmicpc.net)


 

해석 및 팁

 


이 문제는 arraylist를 사용하면 되는 문제입니다. arraytlist 는 add()를 통해 값을 추가할수있는데, 원하는 위치에 값을 넣고 싶을 경우 add(index, value) 를 사용하면 됩니다. 

 

 


 

Java 코드

 


import java.util.Scanner;
import java.util.ArrayList;


public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> list = new ArrayList<>();    //리스트선언
    
    int n = sc.nextInt();
    
    for(int i = 0; i < n; i++) {
      int stu = sc.nextInt();
      list.add(i-stu, i);                  //i가 1일때 stu가 0이면 1 2 stu가 1이면 2 1순서이다  
    }

    for(int i = 0; i < n; i++) {
      System.out.print((list.get(i)+1)+" ");         //i가 0부터이므로 1을 더해준다
    }

  }  
}