이 항목은 C++을 쓰다보면 가끔 이런 생각이 들 때가 있습니다. '이 인간들, 이해하기 어렵게 만드려고 생난리를 쳤구먼...?'이라고요. 그 중 하나가 지금 이야기하고자 하는 'new 연산자'와 'operator new'의 차이랍니다. 이게 서로 다른 것인 줄도 모르셨죠? 라는 문장으로 시작한다. 처음에는 "operator가 한국어로 연산자인데 뭘까.. 'new 연산자'와 '연산자 new'의 차이라는 건가.."라는 생각이 들었다. 정말 모르겠지만.. 차근 차근 이해를 해보자! 하고 몇 줄 읽지 않아 답이 나왔다. new 연산자가 호출하는 그 함수의 이름이 바로 operator new입니다. 진짜입니다. 아하! 답답함이 한순간에 풀렸다. 비주얼 스튜디오에서 new 연산자를 사용해보자. 아무거나 하나 작성..
0. 최종 합격 지난 금요일에 최종 합격 소식을 들었다. 사실 서류를 합격했을 때부터 얼떨결 했는데, 채용 프로세스를 거쳐 최종 합격 소식을 들었을 때는 이메일에 적혀있는 이름이 내 이름이 맞는지 여러번 확인했을 정도였다. 정말 정말 좋았다. 1. 다시 공부 잠깐 설렜지만, 좋은건 좋은거고 이제부터 어떻게 할지가 중요하다는 생각이 들었다. 원하는 회사에 원하는 포지션으로 붙어서 정말 정말 좋고 신나지만, 혹시 내가 업무 커뮤니케이션 조차 되지않는 실력을 갖고 있다면 안되니까 공부를 해야했다. 그래서 시험을 준비할 때 공부했던 것보다 더 열심히 공부했다. 벌써 C++ 강의는 33% 수강했다. 들으면 들을수록 재밌고 알차다. 위의 강의를 다 듣고 같이 게임 스터디를 하는 분께 추천받은 씹어먹는 C++(htt..
오늘 오랜만에 아메리카노를 마셨더니 잠이 안들어서 어쩔 수 없이 일어났다. 알고리즘을 풀면 졸려질까 싶은 생각에 리트 코드를 열었는데, 오히려 더 쌩쌩해졌다. 1. 문제 Given an integer x, return true if x is palindrome integer. An integer is a palindrome when it reads the same backward as forward. For example, 121 is palindrome while 123 is not. 팰린드롬 수는 101, 121, 1221과 같이 뒤집어도 같은 수다. 처음에 문제를 보자마자 str로 변환하고, 뒤집은 값과 비교하면 되겠다고 생각했다. 그런데 문제의 예제를 끝까지 읽다보니 Follow up에 Follo..
10월까지 클라우드 네이티브 데이터 플랫폼을 구축하는 프로젝트에 참여하게 됐다. 어제 저녁 8시 쯤에 첫 모임을 했고 10시가 되어가는 시간에 마쳤다. 자기소개도 하고, 앞으로의 일정도 세우고, 프로젝트 관련 기술 세미나도 한 의미있는 시간이었다. 2시간이라고 믿을 수 없을 정도로 많은 것을 배우고, 설레었다. 분명 몸은 피곤했는데, 정신만은 그 어느때보다 맑았다. 첫 모임은 아이스브레이킹 - 진행 계획 수립 - 기술 세미나 순으로 진행 됐다. 옛날부터 데이터를 좋아해서 하둡 에코시스템 책도 읽고 관련 공부도 했지만, 여러모로 의문도 많았고 헷갈리는 부분도 많았다. 그런 애매한 부분이 예상치못하게 어제 두시간의 세미나에서 완전히 풀렸다. 앞으로 IT 세미나나 강연에 열정적으로 참여해야겠다고 생각하게 되는..
이제까지는 글을 내가 공부한 걸 정리한다는 느낌으로 썼다. 하지만 면접을 보면서 다른 사람에게 설명하는 것에 미숙하다고 생각하게 됐고, 앞으로는 읽는 사람이 이해할 수 있게 글을 써야겠다고 생각했다. 1. 문제 Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M. Symbol Value I 1 V 5 X 10 L 50 C 100 D 500 M 1000 For example, 2 is written as II in Roman numeral, just two one's added together. 12 is written as XII, which is simply X + II. The number 27 is wri..
링크 https://leetcode.com/problems/number-of-matching-subsequences/ Number of Matching Subsequences - 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 문제 Given a string s and an array of strings words, return the number of words[i] that is a subsequence of s. A subsequence of a string..
지난 14일, 서류 전형 합격 메일을 받고 필기 테스트를 봤다. 다른 분들이 후기에 올리신 것처럼 나도 비밀 유지 서약서를 작성했기 때문에 전형을 진행하면서 알게 된 내용은 적지 못한다. 하지만 필기테스트를 준비하고, 회사에 방문해서 시험을 보면서 느낀 점들은 글로 쓸만큼 충분히 의미 있는 과정이었다고 생각해서 정리해보려 한다. 1. 필기 테스트 전 우선 나는 서류 전형이 매우 빠르게 처리 됐다. 평균적으로 서류 전형이 2주에서 최대 1달 걸린다는 말에 맞춰서 천천히 준비하려고 했는데... 평소 실력대로 봐야 했다. 뭐, 애초에 수시 채용이기도 하고 서류 전형 결과가 언제 나온다는 말이 없었으니 지원할 때부터 준비가 되어있어야 하긴 했다. 시험까지 나에게 주어진 시간은 3일이었다. 아마 인터넷에 검색을 ..
필기 -> 인성 -> 코딩테스트 순서 필기 -> ㄹㅇ 게임과 코딩을 접목시킴, 클래스, 포인터, 실제로 어떻게 불리는지 확인 포인터 개념 잘 알아야 할듯 코딩에서 중간에 생길수 있는 문제 물어봄 내적 문제/물리 문제 같은거 물어봄 멀티 스레드, 뮤텍스 등 운영 체제 문제 물어봄 의외로 네트워크 문제는 없었음 뒤에 문제 시간 없어서 못풀었는데 시간 있었으면 다 풀었을듯 인프런 C++강의 다 들으면 충분히 풀수있을듯한 무난한 문제였는데 시계 안챙겨가서 문제 다 풀지도 못하고 나와서 한이 넘침 인성 -> ㅠㅠ 이거도 적다가 다 못적음 그냥 개인 생각 물어보는거라..다 적어야했는데 너무 아쉬움 코딩테스트 -> STL못쓰게해서 그냥 C였는데 문법 몰라서 수도 코드로 다 작성하고 나옴;; 문제는 프로그래머스 레벨 ..
문제 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 ..
생각보다 문제가 빨리 풀려서 카테고리 별로 포스팅을 올리는게 나을 것 같다. 풀리긴 풀리는데 계속 아쉬운 마음이 든다. 파이썬처럼 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
문제: 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..
저번 글에서 언어는 도구일 뿐이라고 했는데 언어가 도구인 것은 맞다. 하지만 전기톱으로 나무를 베는 것은 쉽지만 커터 칼로 자르면 어려운 것처럼... 파이썬으로 문제를 풀다가 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..