코린이의 소소한 공부노트

[LeetCode/Easy] 2379. Minimum Recolors to Get K Consecutive Black Blocks 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2379. Minimum Recolors to Get K Consecutive Black Blocks

무지맘 2023. 5. 2. 16:14

1. Input

1) String blocks

2) int k

 

2. Output

1) blocks에서 길이가 k인 부분 문자열을 뽑았을 때, 모든 글자가 B가 되도록 바꿔야하는 W의 최소 개수를 반환

 

3. Constraint

1) n == blocks.length

2) 1 <= n <= 100

3) blocksBW로 이루어져 있다.

4) 1 <= k <= n

 

4. Example

Input: blocks = "WBBWWBBWBW", k = 7 -> Output: 3

Input: blocks = "WBWBBBW", k = 2 -> Output: 0

설명:

- 0번째부터 시작하는 WBBWWBB에서 W 3개를 바꾸면 모두 B가 된다.

- 3번째부터 시작하는 BB는 바꿀 필요가 없기 때문에 0을 반환한다.

 

5. Code

1) 첫 코드(2023/05/02)

class Solution {
    public int minimumRecolors(String blocks, int k) {
        int min = Integer.MAX_VALUE;
        for(int i=0 ; i<=blocks.length()-k ; i++){
            int count = 0;
            for(int j=i ; j<i+k ; j++)
                if(blocks.charAt(j)=='W')
                    count++;
            if(count<min)
                min = count;
        }
        return min;
    }
}