패스트터틀

(Baekjoon) GreedyAlgorithm - (15) 한 줄로 서기 본문

Algorithm/baekjoon

(Baekjoon) GreedyAlgorithm - (15) 한 줄로 서기

SudekY 2019. 12. 16. 18:12

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

 

1138번: 한 줄로 서기

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

www.acmicpc.net

 

 

232010 일경우 반대부터 수를 넣는다.

 

 for (int i = N ; i >= 1; i--) {
  list.add(height[i],i);
  }

0 -> 6을 0에다가 추가하기

1 -> 5을 1에다가 추가하기

0 -> 4을 0에다가 추가하기

2 -> 3을 2에다가 추가하기

3 -> 2을 3에다가 추가하기

2 -> 1을 2에다가 추가하기

 

package GreedyAlgorithm;

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

public class _1138 {
    static int height[] = new int[11];
    static List<Integer> list;
    public static void main(String args[]) {

       Scanner sc = new Scanner(System.in);
       int N = sc.nextInt();
       list = new ArrayList<Integer>();
       for (int i = 0; i < N; i++) {
           height[i+1] = sc.nextInt();
       }

        for (int i = N ; i >= 1; i--) {
            list.add(height[i],i);
        }
        
        for (int i = 0; i < list.size(); i++) {
            System.out.print(list.get(i)+" ");
        }

        sc.close();
    }
}

 

 

 

 

백준문제풀이Github : 

https://github.com/sdk0213/baekjoon-study

 

sdk0213/baekjoon-study

solve a baekjoon question. Contribute to sdk0213/baekjoon-study development by creating an account on GitHub.

github.com

 

Comments