• Home

My Codegate

  • Home

백준 16435 스네이크버드 자바 문제풀이

2023/12/05 Posted by Codegate Java No Comments

문제 링크

문제는 입력으로 첫 번째 줄은 과일 갯수와 스네이크버드의 길이를 받은 후 두 번째 입력으로 과일의 값이 들어오게 되는데, 스네이크버드의 값이 과일 값보다 크거나 같으면 스네이크버드의 값이 1씩 증가하게 되고 최대한 과일을 많이 먹었을 경우의 스네이크버드의 값을 가져오면 된다.

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

public class Snakebird {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String[] split = br.readLine().split(" ");
        int[] fruitArr = Arrays.stream(br.readLine().split(" "))
                        .mapToInt(Integer::parseInt).toArray();
        Arrays.sort(fruitArr);

        int snakeLength = Integer.parseInt(split[1]);
        for(int i = 0; i<fruitArr.length; i++) {
            if(snakeLength >= fruitArr[i]) {
                snakeLength++;
            }
        }

        System.out.println(snakeLength);

    }
}

풀이방법은 과일의 값을 정렬해준 뒤 for 문을 돌리면서 스네이크버드보다 작거나 같으면 스네이크버드의 값을 +1 해 주는 식으로 진행해주면 작은 과일부터 계속 먹으면서 진행하다가 먹을 수 없게 되면 크기가 증가하지 않게 되고 for 문을 돌리고 난 후 스네이크버드의 값을 출력해주면 끝이다.

No Comments
0

Leave a Reply Cancel Reply

Introduction

My Codegate

Latest Posts

  • Google Search Console API 연동방법
  • 인텔리제이 Gradle Dependency 최신 버전 보는 방법
  • Wallet-Tracker 개발일지
  • Moralis API 자바로 호출방법
  • IntelliJ Commit 후 Push 따로 하는 방법

Categories

  • My Project (4)
  • Java (42)
  • Algorithm (161)
    • Java (152)
    • Algorithm Knowledge (3)
    • Algorithm site usage (6)
  • Vue.js (1)
  • Spring (4)
  • Docker (2)
  • IntelliJ (20)
  • Uncategorized (7)

Recent Comments

  • Codegate on Hello world!
  • A WordPress Commenter on Hello world!

© 2025 — mycodegate.com

Prev Next