관리 메뉴

막내의 막무가내 프로그래밍 & 일상

[알고리즘] 백준 9237 이장님 초대 -그리디- 자바, 코틀린 본문

알고리즘/그리디

[알고리즘] 백준 9237 이장님 초대 -그리디- 자바, 코틀린

막무가내막내 2022. 3. 11. 22:42
728x90

 

 

 

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

 

9237번: 이장님 초대

입력은 두 줄로 이루어져 있다. 첫째 줄에는 묘목의 수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄에는 각 나무가 다 자라는데 며칠이 걸리는지를 나타낸 ti가 주어진다. (1 ≤ ti ≤ 1,000,000)

www.acmicpc.net

 

 

 

백준 그리디 유형에서 9237번 이장님 초대라는 문제를 풀어봤습니다. ㅎㅎ

그리디 유형은 코드는 간단한데 생각을 빨리하는게 역시 중요한 것 같습니다 

주석으로 설명은 대체합니다.

 

 

[Java]

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

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        Integer[] t = new Integer[N];
        for (int i = 0; i < N; i++) {
            t[i] = sc.nextInt();
        }
        // 오래걸리는거부터 심어야 최대한 빠르므로 역정렬
        Arrays.sort(t, Collections.reverseOrder());
        int maxDay = 0;
        for (int i = 0; i < N; i++) {
            // 나무자라는데걸리는시간 + 며칠지났는지 + 심는데 하루
            maxDay = Math.max(maxDay, t[i] + i + 1);
        }
        // 다 심은 다음날 이장님 초대 가능
        maxDay += 1;
        System.out.println(maxDay);
    }
}

 

[Kotlin]

import java.util.*

fun main(args: Array<String>) {
    val sc = Scanner(System.`in`)
    val N = sc.nextInt()
    val t = arrayOfNulls<Int>(N)
    for (i in 0 until N) {
        t[i] = sc.nextInt()
    }
    // 오래걸리는거부터 심어야 최대한 빠르므로 역정렬
    Arrays.sort(t, Collections.reverseOrder())
    var maxDay = 0
    for (i in 0 until N) { // 나무자라는데걸리는시간 + 며칠지났는지 + 심는데 하루
        maxDay = Math.max(maxDay, t[i]!! + i + 1)
    }
    // 다 심은 다음날 이장님 초대 가능
    maxDay += 1
    println(maxDay)
}

 

https://github.com/mtjin/algorithm_practice/commit/ae39f3a9e59c984436f953ebf950231496b214ee

 

백준 9237 풀이 · mtjin/algorithm_practice@ae39f3a

Permalink This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. Showing 2 changed files with 44 additions and 0 deletions. +25 −0 백준 9237 이장님 초대 -그리디-/Main.java +19 −0 백

github.com

 

 

 

댓글과 공감은 큰 힘이 됩니다. 감사합니다. !!!

728x90
Comments