Algorithm/CPP

Algorithm/CPP

[C++/LeetCode/Top Interview Questions]String

문제 1. Reverse String class Solution { public: void reverseString(vector& s) { reverse(s.begin(), s.end()); } }; vector에는 reverse(start, end) 함수가 있으니까 사용하면 된다. 문제 2. Reverse Integer class Solution { public: int reverse(int x) { string str_x = to_string(x); string rev_str_x; for (int i=str_x.size()-1; i>-1; i--) rev_str_x += str_x[i]; long long res = stoll(rev_str_x); if (x < 0) res *= -1; return ..

Algorithm/CPP

[C++/LeetCode/Top Interview Questions]Array

생각보다 문제가 빨리 풀려서 카테고리 별로 포스팅을 올리는게 나을 것 같다. 풀리긴 풀리는데 계속 아쉬운 마음이 든다. 파이썬처럼 C++도 C++만의 장점을 살릴 수 있는 방법이 있을 텐데, 파이썬 코드를 C++로 바꾼 것처럼 풀고 있다. 심지어 파이썬이 아니니 파이썬의 장점도 죽는다😂. 근데 풀다보니 C++도 파이썬만큼은 아니지만 꽤 편한 것 같다. 문제 5. Single Number class Solution { public: int singleNumber(vector& nums) { int answer = 0; sort(nums.begin(), nums.end()); for (int i=0; i

Algorithm/CPP

[C++, LeetCode] Contains Duplicate 벡터에 중복 값 포함되었는지 확인하기

문제: https://leetcode.com/problems/contains-duplicate/ Contains Duplicate - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 앞에서 풀었던 문제(정렬된 벡터에서 중복 제거하기)와 유사해서 금방 풀었다. 🔽풀이 1 class Solution { public: bool containsDuplicate(vector& nums) { int before = nums.size(); sort(nums.begin(), n..

Algorithm/CPP

[C++/LeetCode]Rotate Array(벡터 값 회전하기)

저번 글에서 언어는 도구일 뿐이라고 했는데 언어가 도구인 것은 맞다. 하지만 전기톱으로 나무를 베는 것은 쉽지만 커터 칼로 자르면 어려운 것처럼... 파이썬으로 문제를 풀다가 C++로 문제를 푸는게 어려운 건 당연한게 아닐까...? C++이 성능이 더 좋다해도.. vi도 커맨드를 알면 정말 누구보다 편하게 쓸 수 있지만.. 기능을 익히는데 시간이 오래 걸리니까 말이다..(=실력 부족) 문제: https://leetcode.com/problems/rotate-array/ Rotate Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get p..

Algorithm/CPP

[C++/LeetCode]주식을 사고 팔기 가장 좋은 시기 II

뭔가 이 문제를 풀어보니까 알고리즘을 푸는데 언어는 문제가 아닌거 같기도 하고... 일단 언어는 문제를 풀기 위한 도구일뿐이고 결국에 핵심 로직은 똑같으니까..🙄? class Solution { public: int maxProfit(vector& prices) { int profit = 0; for (int i = 1; i < prices.size(); i++){ profit += max(prices[i]-prices[i-1], 0); } return profit; } }; 한 번의 거래로 낼 수 있는 최대 이익을 찾는 문제인데 예를 들어서 [7, 1, 5, 3, 6, 4]인 경우, 1일 때 사서 6일 때 팔면 최대 이익을 산출 할 수 있다. 브루트 포스로 하면 c++은 런타임 에러가 나지 않을 수도 ..

Algorithm/CPP

[C++/LeetCode] 정렬된 배열(벡터)에서 중복 제거하기

C++에서 손을 떼고 Python만 한지 4년차... C++로 코딩테스트를 보게 됐다. 기본 문법만이라도 익숙해져보려고 하지만, 입출력에서 부터 오류가 나고 계속 틀린다😥.. 그래도 할 수 있는 한 계속해서 노력해보겠지만... 떨어지면 명백하게 내 실력 부족인거니까 미련을 갖진 않으려 한다.. 미련 갖고 후회 하기보단 계속 공부를 해야지.. 코딩 테스트에서 자주 나오는 문제를 풀되, 기본 문법에 익숙해져야 하니까 뭘 풀까 고민하다가 LeetCode Top Interview Questions 를 풀기로 했다. 첫번째 문제는 정렬된 배열에서 중복을 제거하는 문제였다. 파이썬으로 풀 때는 정말 보자마자 바로 풀었는데, C++로 풀어보니 레퍼런스도 참고하고 문법을 찾아보다가 한시간이 걸렸다.. class Sol..

박한결
'Algorithm/CPP' 카테고리의 글 목록