LeetCode 75: 605. Can Place Flowers

김준수·2024년 2월 15일
0

LeetCode 75

목록 보기
4/63
post-custom-banner

605. Can Place Flowers

Description

You have a long flowerbed in which some of the plots are planted, and some are not. However, flowers cannot be planted in adjacent plots.

Given an integer array flowerbed containing 0's and 1's, where 0 means empty and 1 means not empty, and an integer n, return true if n new flowers can be planted in the flowerbed without violating the no-adjacent-flowers rule and false otherwise.

번역

당신은 꽃을 심거나 심지 않는 구획이 있는 화단(flowerbed)을 가지고 있습니다. 다만 꽃들은 인접한 구획에 심을 수 없습니다.

0과 1을 포함하는 정수 배열 flowerbed가 주어졌을 때, 0은 비어 있음을 의미하고 1은 비어 있지 않음을 의미하며, 정수 n은 인접한 구획에 꽃을 심을수 없다는 꽃 규칙을 위반하지 않고 n개의 새 꽃을 화단에 심을 수 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다.

Example 1:

Input: flowerbed = [1,0,0,0,1], n = 1
Output: true

Example 2:

Input: flowerbed = [1,0,0,0,1], n = 2
Output: false

Constraints:

  • 1 <= flowerbed.length <= 2 * 104.
  • 0 <= n <= flowerbed.length.
  • flowerbed[i] is 0 or 1.
  • 인접한 구획에 꽃을 심을 수 없습니다.

Solution

class Solution {
    public boolean canPlaceFlowers(int[] flowerbed, int n) {
        if (n == 0)
            return true;
        for (int i = 0; i < flowerbed.length; i++) {
            if (flowerbed[i] == 0 && (i == 0 || flowerbed[i - 1] == 0)
                    && (i == flowerbed.length - 1 || flowerbed[i + 1] == 0)) {
                n--;
                i++;
                if (n == 0) {
                    return true;
                }
            }
        }

        return false;
    }
}
post-custom-banner

0개의 댓글