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

공지사항

인기 글

태그

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

dj0998

백준 1449 수리공 항승(Java)
백준

백준 1449 수리공 항승(Java)

2023. 2. 3. 16:34

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

 

1449번: 수리공 항승

첫째 줄에 물이 새는 곳의 개수 N과 테이프의 길이 L이 주어진다. 둘째 줄에는 물이 새는 곳의 위치가 주어진다. N과 L은 1,000보다 작거나 같은 자연수이고, 물이 새는 곳의 위치는 1,000보다 작거나

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 먼저 물이 새는 곳을 배열에 입력받은 후 오름차순으로 정렬해 줍니다. 그다음 배열의 첫 번째 값을 시작점으로 해서 시작점과 그다음 물이 새는 곳이 l로 막이 지면 continue 해주면 되고 막아지지 않으면 count++을 한 뒤 시작점을 그다음 물이 새는 곳으로 해서 반복해 주면 됩니다.

 


 

Java 코드

 


import java.util.Scanner;
import java.util.Arrays;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int count = 1;
    int n = sc.nextInt();
    int l = sc.nextInt();
    int[] arr = new int[n];
    
    for(int i = 0; i < n; i++) {
      arr[i] = sc.nextInt();
    }

    Arrays.sort(arr);

    int start = arr[0];
    
    for(int i = 1; i < n; i++) {
      if(arr[i] < start + l) continue;
      else {
        count++;
        start = arr[i];
      }
    }

    System.out.println(count);
  }
}

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

백준 17626 Four Squares(Java)  (0) 2023.02.03
백준 1735 분수 합(Java)  (0) 2023.02.03
백준 11478 서로 다른 부분 문자열의 개수(Java)  (0) 2023.02.03
백준 1935 후위 표기식2(Java)  (0) 2023.02.03
백준 10451 순열 사이클(Java)  (0) 2023.02.03
    '백준' 카테고리의 다른 글
    • 백준 17626 Four Squares(Java)
    • 백준 1735 분수 합(Java)
    • 백준 11478 서로 다른 부분 문자열의 개수(Java)
    • 백준 1935 후위 표기식2(Java)
    Park DJ
    Park DJ

    티스토리툴바