백준 9237 이장님 초대 JAVA 풀이 (그리디, 정렬, 시간복잡도)

2026. 4. 15. 13:38·코테(Solved.ac + Programmers)
728x90

🔗 문제 링크

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


📌 문제 개요

나무를 하루에 하나씩 심을 수 있고,
각 나무는 자라는 데 시간이 다르게 걸린다.

 

모든 나무가 다 자란 다음 날 이장님을 초대해야 할 때,
가장 빠른 초대 날짜를 구하는 문제


📌 접근 방법

이 문제의 핵심은 심는 순서

  • 오래 걸리는 나무를 뒤에 심으면 전체 시간이 늦어짐
  • 따라서 오래 걸리는 나무부터 먼저 심는 것이 최적

 즉, 내림차순 정렬 후 순서대로 심기


📌 핵심 아이디어

  • i번째 나무는 (i + 1)일에 심는다
  • 해당 나무 완료일:
tree[i] + (i + 1)
 
  • 전체 완료일은 최댓값
  • 초대는 다음 날이므로 +1

📌 전체 코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());
        int[] tree = new int[N];

        String[] input = br.readLine().split(" ");
        for(int i = 0; i < N; i++){
            tree[i] = Integer.parseInt(input[i]);
        }

        Arrays.sort(tree);

        int max = 0;

        for(int i = 0; i < N; i++){
            int day = tree[N - 1 - i] + (i + 1);
            max = Math.max(max, day);
        }

        System.out.println(max + 1);
    }
}

🧾 정리

  • 그리디 문제 (정렬 기반)
  • 오래 걸리는 작업 먼저 처리 → 최적 전략
  • 핵심 공식:
728x90

'코테(Solved.ac + Programmers)' 카테고리의 다른 글

백준 1531 투명 JAVA 풀이 (브루트포스, 시뮬레이션)  (0) 2026.04.19
백준 2748 피보나치 수 2 JAVA 풀이 (DP, 반복문, 시간복잡도)  (0) 2026.04.16
백준 16395 파스칼의 삼각형 JAVA 풀이 (DP, 조합)  (0) 2026.04.14
백준 2628 종이자르기 JAVA 풀이 (구현, 정렬, 시간복잡도)  (0) 2026.04.13
백준 10431 줄세우기 JAVA 풀이 (구현, 정렬, 시간복잡도)  (0) 2026.04.12
'코테(Solved.ac + Programmers)' 카테고리의 다른 글
  • 백준 1531 투명 JAVA 풀이 (브루트포스, 시뮬레이션)
  • 백준 2748 피보나치 수 2 JAVA 풀이 (DP, 반복문, 시간복잡도)
  • 백준 16395 파스칼의 삼각형 JAVA 풀이 (DP, 조합)
  • 백준 2628 종이자르기 JAVA 풀이 (구현, 정렬, 시간복잡도)
PUSH → MERGE → DEPLOY
PUSH → MERGE → DEPLOY
데이터 흐름과 운영 자동화를 설계하는 백엔드 개발자
  • PUSH → MERGE → DEPLOY
    Coding Dongin
    PUSH → MERGE → DEPLOY
  • 전체
    오늘
    어제
    • MEUN N
      • 코테(Solved.ac + Programmers) N
      • BootCamp(JAVA)
      • JAVA
      • SpringBoot
      • JavaScript
      • JSP
      • DB(SQL)
      • React
      • HTML_CSS
      • jQuery
      • SCSS
      • GSAP
      • 설치 + 꿀팁
      • 정보처리기사 오답노트
      • 정보처리기사 기출문제
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • GIT
  • 공지사항

  • 인기 글

  • 태그

    정처기오답노트
    알고리즘
    Level2
    자바
    정처기실기
    피보나치
    실기
    springboot
    정보처리기사
    코딩테스트
    브루트포스
    배열
    백엔드개발자
    정렬
    자료구조
    백준
    시뮬레이션
    solved.ac
    프로그래머스
    정처기
    수학
    java
    구현
    level1
    기출문제
    정보처리기사 실기 기출문제
    문자열
    완전탐색
    level0
    dp
  • 최근 댓글

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.4
PUSH → MERGE → DEPLOY
백준 9237 이장님 초대 JAVA 풀이 (그리디, 정렬, 시간복잡도)
상단으로

티스토리툴바