728x90
반응형

leetcode 4

[LeetCode] C++ 5. Longest Palindromic Substring

https://leetcode.com/problems/longest-palindromic-substring/description/문제 문제 분석- 문자열을 직접 잘라서 하나씩 조사하는 것보다 포인터를 두 개를 두어서 중심을 기준으로 늘려가는 것이 효율적이라고 판단하였다. 풀이class Solution {private: string origin; int length; string expand(int left, int right){ while (left >= 0 && right = temp_2.length()){ if(temp_1.length() >= result.length()) result = temp_1; ..

[LeetCode] C++ 49. Group Anagrams

https://leetcode.com/problems/group-anagrams/description/ 문제 문제 분석- 문자를 재배열하여 다른 뜻을 가진 단어로 바꾸는 것이 anagram. 즉, 여기서는 anagram 관계를 가지는 것들을 모아서 반환하라는 것입니다.- anagram 관계에 있는 문자열들을 정렬하면 같은 문자열이 나올 것이기 때문에 이를 활용하면 될 것이라고 생각했습니다.(ex. ate -> aet, eat -> aet, tea -> aet)- 정렬 후 나온 문자열에 대해서 빠른 접근이 가능하도록 hash를 사용한 unordered_map을 사용하는 것이 좋다고 생각했습니다. key를 정렬 후 나온 문자열, value로 string vector를 가지고 있고 value에 계속 추가하는 ..

[LeetCode] C++ 344. Reverse String

https://leetcode.com/problems/reverse-string/문제 문제 분석- 출력을 거꾸로 하는게 아니라 해당 벡터 내부를 직접 조작해야하므로 맨 뒤에서부터 하나씩 맨 앞으로 넣으면 되지않을까 생각했다. 풀이 1using namespace std;class Solution {public: void reverseString(vector& s) { for(int i = 0; i insert를 통해 "삽입"을 해버리니까 계속 뒤에 있는 것들이 밀리게 되므로 굉장히 시간이 오래걸렸다. 풀이 2using namespace std;class Solution {public: void reverseString(vector& s) { int len = s.size..

[LeetCode] C++ 125. Valid Palindrome

https://leetcode.com/problems/valid-palindrome/description/ 문제 풀이1. ASCII 문자에 해당하는 글자만 남긴 뒤, 소문자로 바꾸자2. Palindrome이 성립하는지 순서대로 비교해보고 비교 중 다른 문자가 있다면 false를 반환하고, 나머지는 true를 반환하자 풀이 1#include // std::remove_if#include #include // std::isalnum, std::tolowerclass Solution {private: bool is_not_alnum(char c) { return !isalnum(static_cast(c)); } string preprocess(string s){ s..

728x90
반응형