반응형
https://www.acmicpc.net/problem/1138
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for(int i=0; i < n; i++){
arr[i] = sc.nextInt();
}
LinkedList<Integer> lList = new LinkedList<>();
for(int i=n; i >= 1; i--){
int position = arr[i-1];
lList.add(position, i);
}
sc.close();
lList.forEach(val ->
System.out.print(val + " "));
}
}
1. 풀이
주어진 배열 뒤부터 탐색해서 LinkedList활용해서 넣어준다.
(ArrayList도 사용해도된다. 하지만 ArrayList는 삽입 이후 배열을 모두 뒤로 밀어야 하기때문에 비효율적)
( 2 1 1 0 ) ->
1. 4번째 를 0번 인덱스 삽입 ( 4 )
2. 3번째를 1번 인덱스 삽입 (4 3 )
3. 2번째를 1번 인덱스 삽입 ( 4 2 3)
4. 1번째를 2번 인덱스 삽입 ( 4 2 1 3)
반응형
'기타 > 알고리즘' 카테고리의 다른 글
[알고리즘] 백준 1193 분수찾기 Java 실버5 (0) | 2023.09.10 |
---|---|
[알고리즘] 프로그래머스 - 짝지어제거하기 Lv02 Java (0) | 2023.07.18 |
[알고리즘] 프로그래머스 - 멀리뛰기 Java Lv02 (0) | 2023.07.15 |
[알고리즘] 프로그래머스 - 숫자의표현 Lv02 Java (0) | 2023.07.13 |
[알고리즘] 프로그래머스 - 최소값만들기 Lv02 Java (0) | 2023.07.04 |