์šฐ๊ทœ์ด์ธ์šฐ์œค
Eager To Learn ๐ŸŒŒ
์šฐ๊ทœ์ด์ธ์šฐ์œค
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿก ํ™ˆ
  • ๐Ÿš€ ๊นƒํ—ˆ๋ธŒ
  • โ›… ํƒœ๊ทธ ํด๋ผ์šฐ๋“œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (217)
    • ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS (170)
      • JAVA (82)
      • MYSQL (1)
      • Docker (2)
      • PYTHON (24)
      • LeetCode 150 (39)
      • Algorithm ๊ธฐ๋ฒ• (1)
      • ๋ฐ”ํ‚น๋… (21)
    • ๋ธ”๋กœ๊ทธ ์ด์‚ฌ (0)
    • Error (1)
    • CS (15)
      • DataBase (2)
      • OS (7)
      • Network (1)
      • Spring (1)
      • ์ž๋ฃŒ๊ตฌ์กฐ (3)
      • Java (1)
    • Learned (7)
      • Spring (7)
    • ๊ฐœ๋ฐœ์„œ์  (15)
      • ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์‹œ์Šคํ…œ ์„ค๊ณ„ ๊ธฐ์ดˆ (1)
      • ์˜ค๋ธŒ์ ํŠธ - ์กฐ์˜ํ˜ธ (7)
      • ์นœ์ ˆํ•œ SQL ํŠœ๋‹ (7)
    • ํšŒ๊ณ  (2)
hELLO ยท Designed By ์ •์ƒ์šฐ.
์šฐ๊ทœ์ด์ธ์šฐ์œค

Eager To Learn ๐ŸŒŒ

๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA

[JAVA] 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ ใ€์ง•๊ฒ€๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐใ€‘

2023. 4. 26. 14:35


์ผ๋‹จ stones ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ 200000๊ฐœ์ด๋ฏ€๋กœ, ์ด์ค‘ for๋ฌธ์„ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค.

 

๋”ฐ๋ผ์„œ ๋ฐฐ์—ด์˜ ์›์†Œ๊ฐ’์œผ๋กœ ์ด๋ถ„ ํƒ์ƒ‰์„ ํ•ด์„œ ๊ฐ’์„ ์ฐพ์•„์•ผ ํ•œ๋‹ค.

 

[2, 4, 5, 3, 2, 1, 4, 2, 5, 1]

 

์˜ˆ์ œ ์ฒ˜๋Ÿผ ์œ„์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์—์„œ

 

์ „์ฒด 3์„ ๊ฐ์†Œํ•˜๋ฉด

 

[-1 1 2 0 -1 -2 1 -1 2 -2] ๊ฐ€ ๋˜๋Š”๋ฐ, 0์ดํ•˜์ธ ์›์†Œ๊ฐ€ 3๊ฐœ ์—ฐ์†์œผ๋กœ ์กด์žฌํ•˜๋Š” ๊ตฌ๊ฐ„์ด ์ƒ๊ธฐ๋ฏ€๋กœ ๋‹ต์ด 3์ด ๋˜๋Š”๊ฒƒ์ด๋‹ค.

 

๋งŒ์•ฝ 2๋ฅผ ๊ฐ์†Œํ•˜๋ฉด

 

[0 2 3 1 0 -1 2 0 3 -1] ์ด ๋˜์–ด 0์ดํ•˜์ธ ์›์†Œ๊ฐ€ 3๊ฐœ ์—ฐ์†์œผ๋กœ ์กด์žฌํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ ์‚ฌ๋žŒ์ด ๊ฑด๋„ˆ๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

 

๋”ฐ๋ผ์„œ, ์ „์ฒด์— x๋ฅผ ๊ฐ์†Œ์‹œ์ผฐ์„ ๋•Œ, 0์ดํ•˜์ธ ๋Œ์ด ์—ฐ์†์œผ๋กœ k๊ฐœ ์ด์ƒ ์กด์žฌํ•˜๋Š” x๊ฐ’์„ ์ด๋ถ„ํƒ์ƒ‰์œผ๋กœ ๊ตฌํ•˜๋ฉด ๋œ๋‹ค.

 

 

 

์ดˆ๊ธฐ๊ฐ’์„ left = stones ๋ฐฐ์—ด์˜ ์ตœ์†Ÿ๊ฐ’, right = stones ๋ฐฐ์—ด์˜ ์ตœ๋Œ“๊ฐ’ ์œผ๋กœ ๋‘๊ณ 

 

mid = (left + right) / 2 ๊ฐ’์œผ๋กœ ์ „์ฒด ๊ฐ์†Œ๋ฅผ ํ•˜๊ณ  0 ์ดํ•˜์˜ ์—ฐ์†๋œ ๋Œ์ด ์กด์žฌํ•˜๋Š”์ง€ ํ™•์ธํ•œ๋‹ค.

 

๋งŒ์•ฝ ์กด์žฌํ•œ๋‹ค๋ฉด ์ตœ์†Ÿ๊ฐ’์„ ์˜ฌ๋ ค์„œ ๊ฒ€์‚ฌ๋ฅผ ํ•ด๋ณด๋ฉด ๋˜๊ณ  , ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด ์ตœ๋Œ“๊ฐ’์„ ๋‚ฎ์ถฐ์„œ ํƒ์ƒ‰์„ ํ•œ๋ฒˆ ๋” ํ•ด๋ณด๋ฉด ๋œ๋‹ค.

 

 


import java.util.*;

class Solution {
    public int solution(int[] stones, int k) {

        int left = Arrays.stream(stones).min().getAsInt();
        int right = Arrays.stream(stones).max().getAsInt();

        while (left < right) {
            int mid = (left + right) / 2;
            if (isPossible(mid, stones, k)) {
                right = mid;
            } else {
                left = mid + 1;
            }
        }
        return left;
    }

    boolean isPossible(int num, int[] stones, int k) {
        int possible = 0;
        for (int stone : stones) {
            if (stone - num <= 0) {
                possible++;
            } else {
                possible = 0;
            }
            if (possible == k) {
                return true;
            }
        }
        return false;
    }
}
    '๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป PS/JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JAVA] 2021 ์นด์นด์˜ค ์ฑ„์šฉ์—ฐ๊ณ„ํ˜• ์ธํ„ด์‹ญ ใ€๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐใ€‘
    • [JAVA] 2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ ใ€์ˆ˜์‹ ์ตœ๋Œ€ํ™”ใ€‘
    • [JAVA] 2018 KAKAO BLIND RECRUITMENT ใ€๋ฐฉ๊ธˆ๊ทธ๊ณกใ€‘
    • [JAVA] 2020 KAKAO BLIND RECRUITMENT ใ€๊ด„ํ˜ธ ๋ณ€ํ™˜ใ€‘
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ์šฐ๊ทœ์ด์ธ์šฐ์œค
    ๊ฐœ๋ฐœ์ž ๊ฟˆ๋‚˜๋ฌด

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”