์ƒˆ์†Œ์‹

IN DEPTH CAKE/Supercoder

[c++/LeetCode-Stack] 1047. Remove All Adjacent Duplicates In String

  • -
๋ฐ˜์‘ํ˜•

 

๋‚œ์ด๋„: EASY

ํ‚ค์›Œ๋“œ: Stack

 

 

๋ฌธ์ œ

 

์†Œ๋ฌธ์ž ์˜์–ด ์•ŒํŒŒ๋ฒณ์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. 

์ค‘๋ณต ์ œ๊ฑฐ๋Š” ์„œ๋กœ ์ธ์ ‘ํ•˜๊ณ  ๊ฐ™์€ ๊ธ€์ž ๋‘ ๊ฐœ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค.
`s` ์—์„œ ๋” ์ด์ƒ ์ค‘๋ณต ์ œ๊ฑฐ๋ฅผ ํ•  ์ˆ˜ ์—†์„ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•˜์—ฌ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
๋ชจ๋“  ์ด๋Ÿฌํ•œ ์ค‘๋ณต ์ œ๊ฑฐ๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ ์ตœ์ข… ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๋‹ต์ด ์œ ์ผํ•จ์ด ์ฆ๋ช…๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๋ฌธ์ œ ์›๋ฌธ: https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string/description/

 

๋ฌธ์ œ ํ’€์ด

class Solution {
public:
    string removeDuplicates(string s) {
        vector<char> stack;
        
        for(auto c : s){
            if(stack.size() && c == stack.back())
                stack.erase(stack.end()-1);
            else
                stack.emplace_back(c);
        }
        return string(stack.begin(),  stack.end());
        
    }
};

 

 

๋ฐ˜์‘ํ˜•

'IN DEPTH CAKE > Supercoder' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[c++/LeetCode-Hash Table] 1. Two Sum  (1) 2024.05.05
[c++/LeetCode-Stack] 394. Decode String  (1) 2024.05.05
[c++/LeetCode-Stack] 155. MinStack  (1) 2024.05.05
[c++/LeetCode-2DArray] 48. Rotate Image  (1) 2024.05.05
[c++/LeetCode-Array] 75. Sort Colors  (3) 2024.05.05
Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

# ๋กœ๋”ฉ ํ™”๋ฉด ๋™์ž‘ ์ฝ”๋“œ(Code) ์„ค์ •ํ•˜๊ธฐ