Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 2343
  • 백준 12605
  • 백준
  • 백준 1495
  • 백준 2467
  • 백준 7662
  • 백준 15961
  • 백준 2591
  • 백준 3049
  • 백준 1064
  • 백준 16194
  • 백준 1011
  • 백준 15312
  • 백준 6550
  • 백준 14582
  • 백준 24039
  • 백준 7567
  • 백준 1914
  • 자바
  • 백준 10709
  • Java
  • 백준 4659
  • 백준 16926
  • 백준 8892
  • 백준 1531
  • 백준 1747
  • 백준 12871
  • 백준 3135
  • 백준 2225
  • 백준 15655
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 2628 종이자르기(Java)
백준

백준 2628 종이자르기(Java)

2023. 1. 24. 01:03

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

 

2628번: 종이자르기

아래 <그림 1>과 같이 직사각형 모양의 종이가 있다. 이 종이는 가로방향과 세로 방향으로 1㎝마다 점선이 그어져 있다. 가로 점선은 위에서 아래로 1번부터 차례로 번호가 붙어 있고, 세로 점선

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 가로와 세로를 구분하여 ArrayList를 만들어준 후 처음에 0, 끝에는 가로와 세로의 길이를 더해서 정렬을 합니다. 그러고 나서 큰 것에서 작은 걸 빼고 그 차이를 비교하여 가장 차이가 큰 것을 max로 해서 가로와 세로의 max값을 곱해주면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;
import java.util.ArrayList;
import java.util.Collections;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    ArrayList<Integer> width = new ArrayList<>();
    ArrayList<Integer> heigh = new ArrayList<>();
    width.add(0);
    heigh.add(0);

    int max_w = -1;
    int max_h = -1;
    int w = sc.nextInt();
    int h = sc.nextInt();
    int n = sc.nextInt();
    
    for(int i = 0; i < n; i++) {
      int a = sc.nextInt();
      int b = sc.nextInt();
      if(a == 1) width.add(b);
      else heigh.add(b);
    }
    width.add(w);
    heigh.add(h);

    Collections.sort(width);
    Collections.sort(heigh);

    for(int i = 0; i < width.size()-1; i++) {
      if(max_w < (width.get(i+1)-width.get(i))) max_w = width.get(i+1) - width.get(i);
    }

    for(int i = 0; i < heigh.size()-1; i++) {
      if(max_h < (heigh.get(i+1)-heigh.get(i))) max_h = heigh.get(i+1) - heigh.get(i);
    }

    System.out.println(max_w * max_h);
  }
}

'백준' 카테고리의 다른 글

백준 1769 3의 배수(Java)  (0) 2023.01.24
백준 15904 UCPC는 무엇의 약자일까?(Java)  (0) 2023.01.24
백준 5800 성적 통계(Java)  (0) 2023.01.23
백준 1969 DNA(Java)  (1) 2023.01.23
백준 13241 최소공배수(Java)  (0) 2023.01.23
    '백준' 카테고리의 다른 글
    • 백준 1769 3의 배수(Java)
    • 백준 15904 UCPC는 무엇의 약자일까?(Java)
    • 백준 5800 성적 통계(Java)
    • 백준 1969 DNA(Java)
    Park DJ
    Park DJ

    티스토리툴바