C++
-
๋์ด๋: Easyํค์๋: Stack ๋ฌธ์ ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ก์ ๋, ์ฒซ ๋ฒ์งธ๋ก ๋ฐ๋ณต๋์ง ์๋ ๋ฌธ์๋ฅผ ์ฐพ๊ณ ๊ทธ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํฉ๋๋ค. ๋ง์ฝ ๊ทธ๋ฐ ๋ฌธ์๊ฐ ์๋ค๋ฉด, -1์ ๋ฐํํฉ๋๋ค. ์ ์ถ๋ ฅ ์์ Example 1:Input: s = "leetcode"Output: 0 Example 2:Input: s = "loveleetcode"Output: 2 Example 3:Input: s = "aabb"Output: -1 ๋ฌธ์ ํ์ดclass Solution {public: int firstUniqChar(string s) { unordered_map hash; for(const auto c : s){ const auto ptr = hash.find(c); ..
[c++/LeetCode-Hash Table] 387. First Unique Character in a String๋์ด๋: Easyํค์๋: Stack ๋ฌธ์ ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ก์ ๋, ์ฒซ ๋ฒ์งธ๋ก ๋ฐ๋ณต๋์ง ์๋ ๋ฌธ์๋ฅผ ์ฐพ๊ณ ๊ทธ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํฉ๋๋ค. ๋ง์ฝ ๊ทธ๋ฐ ๋ฌธ์๊ฐ ์๋ค๋ฉด, -1์ ๋ฐํํฉ๋๋ค. ์ ์ถ๋ ฅ ์์ Example 1:Input: s = "leetcode"Output: 0 Example 2:Input: s = "loveleetcode"Output: 2 Example 3:Input: s = "aabb"Output: -1 ๋ฌธ์ ํ์ดclass Solution {public: int firstUniqChar(string s) { unordered_map hash; for(const auto c : s){ const auto ptr = hash.find(c); ..
2024.05.05 -
๋์ด๋: Easyํค์๋: Stack ๋ฌธ์ ์ ์ ๋ฐฐ์ด nums์ ์ ์ target์ด ์ฃผ์ด์ก์ ๋, ๋ ์ซ์์ ํฉ์ด target์ด ๋๋๋กํ๋ ์ซ์์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํฉ๋๋ค.๊ฐ ์ ๋ ฅ์๋ ์ ํํ ํ๋์ ํด๊ฒฐ์ฑ ์ด ์๋ค๊ณ ๊ฐ์ ํ ์ ์์ผ๋ฉฐ, ๋์ผํ ์์๋ฅผ ๋ ๋ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.์ด๋ค ์์๋ก๋ ๋ต์ ๋ฐํํ ์ ์์ต๋๋ค. ๋ฌธ์ ์๋ฌธ: https://leetcode.com/problems/two-sum/description/ Example 1:Input: nums = [2,7,11,15], target = 9Output: [0,1]Explanation: Because nums[0] + nums[1] == 9, we return [0, 1]. ๋ฌธ์ ํ์ดO(n) ์๊ฐ ์์ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์, array์ iteratio..
[c++/LeetCode-Hash Table] 1. Two Sum๋์ด๋: Easyํค์๋: Stack ๋ฌธ์ ์ ์ ๋ฐฐ์ด nums์ ์ ์ target์ด ์ฃผ์ด์ก์ ๋, ๋ ์ซ์์ ํฉ์ด target์ด ๋๋๋กํ๋ ์ซ์์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํํฉ๋๋ค.๊ฐ ์ ๋ ฅ์๋ ์ ํํ ํ๋์ ํด๊ฒฐ์ฑ ์ด ์๋ค๊ณ ๊ฐ์ ํ ์ ์์ผ๋ฉฐ, ๋์ผํ ์์๋ฅผ ๋ ๋ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.์ด๋ค ์์๋ก๋ ๋ต์ ๋ฐํํ ์ ์์ต๋๋ค. ๋ฌธ์ ์๋ฌธ: https://leetcode.com/problems/two-sum/description/ Example 1:Input: nums = [2,7,11,15], target = 9Output: [0,1]Explanation: Because nums[0] + nums[1] == 9, we return [0, 1]. ๋ฌธ์ ํ์ดO(n) ์๊ฐ ์์ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์, array์ iteratio..
2024.05.05 -
๋์ด๋: Mediumํค์๋: Stack๋ฌธ์ ์ธ์ฝ๋ฉ๋ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ฉด ํด๋น ๋ฌธ์์ด์ ๋์ฝ๋ฉํ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค. ์ธ์ฝ๋ฉ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: k[์ธ์ฝ๋ฉ๋_๋ฌธ์์ด], ์ฌ๊ธฐ์ ๋๊ดํธ ๋ด์ ์ธ์ฝ๋ฉ๋ ๋ฌธ์์ด์ด k๋ฒ ์ ํํ ๋ฐ๋ณต๋ฉ๋๋ค. k๋ ์์ ์ ์์์ด ๋ณด์ฅ๋ฉ๋๋ค.์ ๋ ฅ ๋ฌธ์์ด์ด ํญ์ ์ ํจํ๋ค๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค. ์ถ๊ฐ์ ์ธ ๊ณต๋ฐฑ์ด๋ ๋๊ดํธ๊ฐ ์ ํ์ฑ๋์ด ์์ง ์์ต๋๋ค. ๋ํ ์๋ณธ ๋ฐ์ดํฐ์๋ ์ซ์๊ฐ ํฌํจ๋์ด ์์ง ์์ผ๋ฉฐ ์ซ์๋ ๋ฐ๋ณต ํ์ k๋ง์ ์ํ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, 3a ๋๋ 2[4]์ ๊ฐ์ ์ ๋ ฅ์ ์์ต๋๋ค. ํ ์คํธ ์ผ์ด์ค๋ ์ถ๋ ฅ์ ๊ธธ์ด๊ฐ ํญ์ 10^5๋ฅผ ์ด๊ณผํ์ง ์๋๋ก ์์ฑ๋ฉ๋๋ค. ์ ๋ ฅ ์์ Example 1:Input: s = "3[a]2[bc]"Output: "aaabcbc" ๋ฌธ์ ์๋ฌธ: ht..
[c++/LeetCode-Stack] 394. Decode String๋์ด๋: Mediumํค์๋: Stack๋ฌธ์ ์ธ์ฝ๋ฉ๋ ๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ฉด ํด๋น ๋ฌธ์์ด์ ๋์ฝ๋ฉํ ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค. ์ธ์ฝ๋ฉ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค: k[์ธ์ฝ๋ฉ๋_๋ฌธ์์ด], ์ฌ๊ธฐ์ ๋๊ดํธ ๋ด์ ์ธ์ฝ๋ฉ๋ ๋ฌธ์์ด์ด k๋ฒ ์ ํํ ๋ฐ๋ณต๋ฉ๋๋ค. k๋ ์์ ์ ์์์ด ๋ณด์ฅ๋ฉ๋๋ค.์ ๋ ฅ ๋ฌธ์์ด์ด ํญ์ ์ ํจํ๋ค๊ณ ๊ฐ์ ํ ์ ์์ต๋๋ค. ์ถ๊ฐ์ ์ธ ๊ณต๋ฐฑ์ด๋ ๋๊ดํธ๊ฐ ์ ํ์ฑ๋์ด ์์ง ์์ต๋๋ค. ๋ํ ์๋ณธ ๋ฐ์ดํฐ์๋ ์ซ์๊ฐ ํฌํจ๋์ด ์์ง ์์ผ๋ฉฐ ์ซ์๋ ๋ฐ๋ณต ํ์ k๋ง์ ์ํ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด, 3a ๋๋ 2[4]์ ๊ฐ์ ์ ๋ ฅ์ ์์ต๋๋ค. ํ ์คํธ ์ผ์ด์ค๋ ์ถ๋ ฅ์ ๊ธธ์ด๊ฐ ํญ์ 10^5๋ฅผ ์ด๊ณผํ์ง ์๋๋ก ์์ฑ๋ฉ๋๋ค. ์ ๋ ฅ ์์ Example 1:Input: s = "3[a]2[bc]"Output: "aaabcbc" ๋ฌธ์ ์๋ฌธ: ht..
2024.05.05 -
๋์ด๋: EASYํค์๋: Stack ๋ฌธ์ ์๋ฌธ์ ์์ด ์ํ๋ฒณ์ผ๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ง๋๋ค. ์ค๋ณต ์ ๊ฑฐ๋ ์๋ก ์ธ์ ํ๊ณ ๊ฐ์ ๊ธ์ ๋ ๊ฐ๋ฅผ ์ ํํ๊ณ ์ ๊ฑฐํ๋ ๊ฒ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค.`s` ์์ ๋ ์ด์ ์ค๋ณต ์ ๊ฑฐ๋ฅผ ํ ์ ์์ ๋๊น์ง ๋ฐ๋ณตํ์ฌ ์ํํฉ๋๋ค.๋ชจ๋ ์ด๋ฌํ ์ค๋ณต ์ ๊ฑฐ๊ฐ ์๋ฃ๋ ํ ์ต์ข ๋ฌธ์์ด์ ๋ฐํํฉ๋๋ค. ๋ต์ด ์ ์ผํจ์ด ์ฆ๋ช ๋ ์ ์์ต๋๋ค. ๋ฌธ์ ์๋ฌธ: https://leetcode.com/problems/remove-all-adjacent-duplicates-in-string/description/ ๋ฌธ์ ํ์ดclass Solution {public: string removeDuplicates(string s) { vector stack; for(a..
[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 stack; for(a..
2024.05.05 -
๋์ด๋: Mediumํค์๋: Stack ๋ฌธ์ ์์ ์๊ฐ ๋ด์ push, pop, top ๋ฐ ์ต์ ์์๋ฅผ ๊ฒ์ํ๋ ์คํ์ ์ค๊ณํ์ญ์์ค.MinStack ํด๋์ค๋ฅผ ๊ตฌํํ์ญ์์ค:- MinStack()๋ ์คํ ๊ฐ์ฒด๋ฅผ ์ด๊ธฐํํฉ๋๋ค.- void push(int val)๋ ์์ val์ ์คํ์ ๋ฃ์ต๋๋ค.- void pop()์ ์คํ์ ๋งจ ์์ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.- int top()์ ์คํ์ ๋งจ ์ ์์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.- int getMin()์ ์คํ์์ ์ต์ ์์๋ฅผ ๊ฒ์ํฉ๋๋ค.๊ฐ ํจ์์ ๋ํด O(1) ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์๋ฃจ์ ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ๋ฌธ์ ํ์ด - O(1) ์๊ฐ ๋ด์ min ๊ฐ์ ๋ฐํํ๊ธฐ ์ํด ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์จ์ min ๊ฐ์ ๋ฐํํ ์ ์๊ฒ min_stack์ ์ถ๊ฐ๋ก ์ ์ธํ๋ค.- min_stack ๊ฐ์ ..
[c++/LeetCode-Stack] 155. MinStack๋์ด๋: Mediumํค์๋: Stack ๋ฌธ์ ์์ ์๊ฐ ๋ด์ push, pop, top ๋ฐ ์ต์ ์์๋ฅผ ๊ฒ์ํ๋ ์คํ์ ์ค๊ณํ์ญ์์ค.MinStack ํด๋์ค๋ฅผ ๊ตฌํํ์ญ์์ค:- MinStack()๋ ์คํ ๊ฐ์ฒด๋ฅผ ์ด๊ธฐํํฉ๋๋ค.- void push(int val)๋ ์์ val์ ์คํ์ ๋ฃ์ต๋๋ค.- void pop()์ ์คํ์ ๋งจ ์์ ์์๋ฅผ ์ ๊ฑฐํฉ๋๋ค.- int top()์ ์คํ์ ๋งจ ์ ์์๋ฅผ ๊ฐ์ ธ์ต๋๋ค.- int getMin()์ ์คํ์์ ์ต์ ์์๋ฅผ ๊ฒ์ํฉ๋๋ค.๊ฐ ํจ์์ ๋ํด O(1) ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง ์๋ฃจ์ ์ ๊ตฌํํด์ผ ํฉ๋๋ค. ๋ฌธ์ ํ์ด - O(1) ์๊ฐ ๋ด์ min ๊ฐ์ ๋ฐํํ๊ธฐ ์ํด ์ถ๊ฐ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ์จ์ min ๊ฐ์ ๋ฐํํ ์ ์๊ฒ min_stack์ ์ถ๊ฐ๋ก ์ ์ธํ๋ค.- min_stack ๊ฐ์ ..
2024.05.05 -
๋์ด๋: Mediumํค์๋: Array ๋ฌธ์ ์ฃผ์ด์ง n x n 2์ฐจ์ ํ๋ ฌ์ ์ด๋ฏธ์ง๋ฅผ ๋ํ๋ ๋๋ค. ์ด ์ด๋ฏธ์ง๋ฅผ 90๋(์๊ณ ๋ฐฉํฅ)๋ก ํ์ ํ์ญ์์ค.์ด๋ฏธ์ง๋ฅผ ์ ์๋ฆฌ์์ (in-place) ํ์ ํด์ผ ํ๋ฏ๋ก ์ ๋ ฅ 2์ฐจ์ ํ๋ ฌ์ ์ง์ ์์ ํด์ผ ํฉ๋๋ค.๋ค๋ฅธ 2์ฐจ์ ํ๋ ฌ์ ํ ๋นํ์ฌ ํ์ ํ์ง ๋ง์ญ์์ค. ๋ฌธ์ ์๋ฌธ : https://leetcode.com/problems/rotate-image/description/ ๋ฌธ์ ํ์ด: ์ฐธ๊ณ ๋ก, ์ด๋ฒ ํฌ์คํ ์ผ๋ก ์ ๋ฆฌํ ์ฝ๋๋ ์๋๊ฐ ๋น ๋ฅธ solution์ ์๋๋ค. ๋ค๋ง ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ๊ณผ ๊ฐ์ด ์ ๋ฆฌํด๋ณด๋ฉด ์ข์ง ์์๊น ์ถ๋ค.์ผ๋จ ๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๊ณผ์ ๋ถํฐ ์์ํด๋ณด๋ฉด, ๋ฌธ์ ์์ ์ ์ํ ์กฐ๊ฑด์ ๊ฐ๋จํ ์์๋ฅผ ํตํด ์ดํดํ๋ ๊ฒ์ด ํ์ํ๋ค. ๋๋ 3 x 3 ์์ ๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฅผ ๋ถ์ํ๋ค..
[c++/LeetCode-2DArray] 48. Rotate Image๋์ด๋: Mediumํค์๋: Array ๋ฌธ์ ์ฃผ์ด์ง n x n 2์ฐจ์ ํ๋ ฌ์ ์ด๋ฏธ์ง๋ฅผ ๋ํ๋ ๋๋ค. ์ด ์ด๋ฏธ์ง๋ฅผ 90๋(์๊ณ ๋ฐฉํฅ)๋ก ํ์ ํ์ญ์์ค.์ด๋ฏธ์ง๋ฅผ ์ ์๋ฆฌ์์ (in-place) ํ์ ํด์ผ ํ๋ฏ๋ก ์ ๋ ฅ 2์ฐจ์ ํ๋ ฌ์ ์ง์ ์์ ํด์ผ ํฉ๋๋ค.๋ค๋ฅธ 2์ฐจ์ ํ๋ ฌ์ ํ ๋นํ์ฌ ํ์ ํ์ง ๋ง์ญ์์ค. ๋ฌธ์ ์๋ฌธ : https://leetcode.com/problems/rotate-image/description/ ๋ฌธ์ ํ์ด: ์ฐธ๊ณ ๋ก, ์ด๋ฒ ํฌ์คํ ์ผ๋ก ์ ๋ฆฌํ ์ฝ๋๋ ์๋๊ฐ ๋น ๋ฅธ solution์ ์๋๋ค. ๋ค๋ง ๋ฌธ์ ํด๊ฒฐ ๊ณผ์ ๊ณผ ๊ฐ์ด ์ ๋ฆฌํด๋ณด๋ฉด ์ข์ง ์์๊น ์ถ๋ค.์ผ๋จ ๋ฌธ์ ๋ฅผ ์ดํดํ๋ ๊ณผ์ ๋ถํฐ ์์ํด๋ณด๋ฉด, ๋ฌธ์ ์์ ์ ์ํ ์กฐ๊ฑด์ ๊ฐ๋จํ ์์๋ฅผ ํตํด ์ดํดํ๋ ๊ฒ์ด ํ์ํ๋ค. ๋๋ 3 x 3 ์์ ๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฅผ ๋ถ์ํ๋ค..
2024.05.05