문제 분석

- ArrayList로 풀면 쉽게 풀 수 있는 문제다. 

-> 변수명.add(들어갈 인덱스, 들어갈 값)

 

 

문제 풀이

1) 입력받은 숫자를 ArrayList에 원하는 자리에 add한다. 

2) ArrayList의 get을 통해 값을 출력한다

 

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;

public class Main {

	private static int cnt;
	private static ArrayList<Integer> list;

	public static void main(String[] args) throws Exception {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;

		list = new ArrayList<>();

		cnt = Integer.parseInt(br.readLine());

		st = new StringTokenizer(br.readLine());
		for (int i = 0; i < cnt; i++) {
			int num = Integer.parseInt(st.nextToken());
			list.add(i - num, i+1);

		}
		
		for(int i=0;i<cnt;i++) {
			System.out.print(list.get(i)+" ");
		}

	}// main

}// class-end

 

'Algorithm > BOJ' 카테고리의 다른 글

BOJ 2563 색종이  (0) 2021.03.08
BOJ_2578_빙고  (0) 2021.03.05
BOJ 2309 일곱난쟁이  (0) 2021.03.05
BOJ 2810 컵홀더  (0) 2021.03.04
BOJ 8320 직사각형을만드는방법  (0) 2021.03.04