본문 바로가기

반응형

Dev Language/LeetCode

(7)
[LeetCode] 6. ZigZag Conversion 오늘의 마지막 문제^^ 6. ZigZag Conversion 난이도는 중입니다. 문제는 아래처럼 풀어보았습니다.class Solution {public: string convert(string s, int numRows) { if ( s.empty() ) return ""; int pos = 0, curRow = 1; int direction = 1; string strRows[numRows]; string rsv; for ( pos = 0; pos < s.size(); pos ++ ) { strRows[curRow - 1].push_back(s[pos]); if ( curRow == 1 ) { if ( curRow == numRows) { direction = 0; } else { direction =..
[LeetCode] 5. Longest Palindromic Substring 오늘은 오전에 시간이 많아서 많이 풀고 있네요.. 5번째 문제인 Longest Palindromic Substring 난이도는 중입니다. 저는 아래와 같이 풀었습니다. class Solution {public: string longestPalindrome(string s) { if (s.empty()) return ""; if (s.size() == 1) return s; const char *buf = s.c_str(); int nBufSize = s.size(), size, pos = 0; for ( size = nBufSize; size >= 1; size -- ) { for ( pos = 0; pos < nBufSize - size + 1; pos ++ ) { if ( checkPalindromi..
[LeetCode] 4. Median of Two Sorted Arrays 4 번째 문제입니다. 난이도는 상... 역시 만만치 않네요.. 힘들게 Accpet 했습니다. 저는 아래와 같이 풀었습니다. class Solution {public: double findMedianSortedArrays(vector& nums1, vector& nums2) { int nums1Size = nums1.size(); int nums2Size = nums2.size(); vector composeVector; int num1 = 0; int num2 = 0; int num1Pos = 0; int num2Pos = 0; while(nums1Size != num1Pos || nums2Size != num2Pos){ num2 = num1 = INT_MAX; if(nums1Size != num1Pos..
[LeetCode] 3. Longest Substring Without Repeating Characters 세번째 문제입니다. 난이도는 중... 전 아래와 같이 풀었습니다. #include // std::find class Solution {public: int lengthOfLongestSubstring(string s) { int nLongestLength = 0; std::vector vLongest; std::vector vCheck; for ( auto strIter = s.cbegin(); strIter != s.cend(); ++ strIter ) { auto findItr = std::find(vCheck.begin(), vCheck.end(), *strIter); if ( findItr != vCheck.cend() ) { if ( vLongest.size()
[LeetCode] 2. Add Two Number 전 아래와 같이 풀었습니다. /** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */ class Solution { public: ListNode* addTwoNumbers(ListNode* l1, ListNode* l2) { int currentSum = 0; bool carry = false; ListNode *currentNode = NULL; ListNode *rootNode = NULL; while ( l1 || l2 || carry ) { currentSum = 0; if ( l1 ) currentSum..
[LeetCode] 1. Two Sum 첫번째 문제^^ 전 아래와 같이 풀었습니다. 그 결과아래처럼 19개의 테스트 케이스에 통과 되었고 166ms 걸렸네요ㅠㅠ 막대 그래프를 클릭해보면 다른 분들이 작성한 코드도 확인할 수 있습니다.
[LeetCode] 소개 - 온라인 코딩 문제 풀기 몇몇의 온라인 코딩 테스트 사이트를 접해보았지만, 저는 여기가 가장 좋았습니다. 더불어 많은 기업에서 면접 시 코딩 테스트를 LeetCode를 활용 중에 있어, 나중에 면접 볼때 다소 도움이 되지 않을까 합니다. 특징 : 1. 지원하는 언어로는 C++, Java 또는 Python을 지원합니다.2. 코딩 중간 중간에 코드를 수행해 볼 수 있으며, 에러도 확인할 수 있습니다.3. 완성된 코드에 대해서 테스트를 수행하여, 완성도를 높일 수 있습니다.4. 코드 수행 속도를 측정하여, 다른 사람과 비교할 수 있습니다. 첫번째 문제를 풀어봤습니다.아래와 같이 Accepted는 났지만, 다른 분들에 비해서 현저히 속도가 늦네요^^

반응형