알고리즘

[java] 백준 1138 한 줄로 서기

_DAMI 2023. 3. 25. 14:56

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

 

1138번: 한 줄로 서기

첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 왼쪽에 몇 명이 있었는지 주어진다. i번째 수는 0보다

www.acmicpc.net

 

java ArrayList 특성을 잘 이용하면 된다

 

2 1 1 0

 

뒤에서 부터 arraylist에

0,4

1,3

1,2

2,1

넣어주면 순서대로 들어가게됨

package main;

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

public class Main {

				
	
 public static void main(String[] args) {
		Main T = new Main();
		Scanner kb = new Scanner(System.in);
		
		int n = kb.nextInt();
		int[] tall = new int[n+1];
		List<Integer> ans = new ArrayList<>();
		
		for(int i=1; i<=n; i++) {
			tall[i]= kb.nextInt();
		}
		
		for(int i=n;i>=1; i--) {
			ans.add(tall[i],i);
		}
		
		for(int x: ans) {
			System.out.print(x+" ");
		}
	}
}