Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 1957. Delete Characters to Make Fancy String 본문
PS/LeetCode
[LeetCode] 1957. Delete Characters to Make Fancy String
riveroverflow 2024. 11. 1. 11:29728x90
반응형
leetcode - Delete Characters to Make Fancy String
문제 유형: 문자열 처리
문제 난이도: Easy
문제
A fancy string is a string where no three consecutive characters are equal.
Given a string s, delete the minimum possible number of characters from s to make it fancy.
Return the final string after the deletion. It can be shown that the answer will always be unique.
fancy string은 3연속 이상 같은 문자가 나오지 않는 것을 말합니다.
최소 개수의 문자를 줄여서 fancy하게 변환하세요.
정답은 하나만 나오도록 보장됩니다.
풀이
2칸 이전의 문자, 이전의 문자를 따로 저장해놓고, 셋이 다 같은게 아니라면 계속 문자를 추가한다.
코드
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:
string makeFancyString(string s) {
string ans = "";
char p = '-';
char pp = '-';
for(const auto &c : s) {
if(!(p == pp && c == p)) {
ans += c;
pp = p;
p = c;
}
}
return ans;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 796. Rotate String (0) | 2024.11.03 |
---|---|
[LeetCode] 2490. Circular Sentence (0) | 2024.11.02 |
[LeetCode] 2463. Minimum Total Distance Traveled (0) | 2024.10.31 |
[LeetCode] 1671. Minimum Number of Removals to Make Mountain Array (0) | 2024.10.30 |
[LeetCode] 2684. Maximum Number of Moves in a Grid (0) | 2024.10.29 |