728x90
728x90

Problem Solving/LeetCode 33

[LeetCode] C++ 937. Reorder Data in Log Files

https://leetcode.com/problems/reorder-data-in-log-files/description/ 문제 문제 분석1. letter-logs와 digit-logs를 분리해서 관리하고 letter-logs 뒤에 digit-logs를 이어붙이면 되겠다고 생각2. lettter-logs의 경우 identifier를 제외하고 나머지 부분들을 비교해서 순서를 정하고, 나머지 부분들이 모두 같은 경우에는 identifier를 기준으로 정렬 풀이#include #include #include #include #include #include using namespace std;// 로그 비교 함수bool compare(string a, string b) { stringstream s1(a)..

[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
728x90