본문 바로가기

ALGORITHM

백준 10775 공항 (Java)

1. 문제 링크

 

10775번: 공항

예제 1 : [2][?][?][1] 형태로 도킹시킬 수 있다. 3번째 비행기는 도킹시킬 수 없다. 예제 2 : [1][2][3][?] 형태로 도킹 시킬 수 있고, 4번째 비행기는 절대 도킹 시킬 수 없어서 이후 추가적인 도킹은 불

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

  1. 서로소 집합을 이용했다.
  2. 입력 받고 그 게이트를 기준으로 도킹할 위치를 찾고 그 위치가 0이 되면 더이상 도킹할 수 없는 상태이다.
  3. 도킹할 위치를 찾으면 해당 위치와 그 앞을 도킹(합)한다.

 

4. 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayDeque;
import java.util.Queue;

public class Main {
    public static void main(String[] args) throws IOException{
       BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
       int result = 0;
       int G = Integer.parseInt(br.readLine());
       int P = Integer.parseInt(br.readLine());
       int[] gate = new int[G+1];
       int now = 0;
       out:
       for(int i=0;i<P;i++) {
    	   now = Integer.parseInt(br.readLine());
    	   for(int j=now;j>0;j--) {
    		   gate[j]++;
    		   System.out.println(j+ " "+gate[j]);
    		   if(gate[j]>j) {
    			   break out;
    		   }
    	   }
    	   result++;
       }
       System.out.println(result);
	}
}

 

'ALGORITHM' 카테고리의 다른 글

백준 2206 벽 부수고 이동하기 (Java)  (0) 2023.04.17
백준 21318 피아노 체조 (Java)  (0) 2023.04.17
백준 2573 빙산 (Java)  (1) 2023.04.16
백준 1149 RGB 거리 (Java)  (0) 2023.04.15
백준 2096 내려가기 (Java)  (0) 2023.04.15