Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 2914. Minimum Number of Changes to Make Binary String Beautiful 본문
PS/LeetCode
[LeetCode] 2914. Minimum Number of Changes to Make Binary String Beautiful
riveroverflow 2024. 11. 5. 10:48728x90
반응형
leetcode - Minimum Number of Changes to Make Binary String Beautiful
문제 유형: 문자열 처리, 그리디
문제 난이도: Medium
문제
You are given a 0-indexed binary string s having an even length.
A string is beautiful if it's possible to partition it into one or more substrings such that:
- Each substring has an even length.
- Each substring contains only 1's or only 0's.
You can change any character in s to 0 or 1.
Return the minimum number of changes required to make the string s beautiful.
0-indexed의 이진 문자열 s가 짝수 길이로 주어진다.
만약 짝수길이이고 오직 1로만 또는 0으로만 되어있는 부분문자열로 1개 이상 나눌 수 있다면, 아름다운 문자열이다.
아름답게 하기 위해, 최소 변환횟수를 구하시오.
한 번에 한 비트를 바꿀 수 있습니다.
풀이
서브스트링을 길이가 2인것만으로 고려해도 된다. 서브스트링의 길이를 늘린다고 더 적은 변환이 필요한 것은 아니다.
또한 2개씩 비교하면 수를 구하기 용이하다.
서브트르링을 2로 고려해서, 두 비트가 다르면 1씩 누적한다. 이를 순차적으로 진행한다.
최종 누적을 반환한다.
코드
C++
#pragma GCC optimize("03", "unroll-loops");
static const int __ = [](){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
return 0;
}();
class Solution {
public:
int minChanges(string s) {
int n = s.size();
int ans = 0;
for(int i = 0; i < n; i += 2) {
if(s[i] != s[i+1]) ans++;
}
return ans;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 2275. Largest Combination With Bitwise AND Greater Than Zero (0) | 2024.11.07 |
---|---|
[LeetCode] 3011. Find if Array Can Be Sorted (0) | 2024.11.06 |
[LeetCode] 3163. String Compression III (0) | 2024.11.04 |
[LeetCode] 796. Rotate String (0) | 2024.11.03 |
[LeetCode] 2490. Circular Sentence (0) | 2024.11.02 |