🕊️ 코딩테스트를 위한 리트코드 60

많은 회사들이 채용 프로세스의 과정 중에 하나로 코딩 테스트를 가지고 있습니다. 벼락치기로 준비하기도 힘들 뿐더러 요령을 알아야 하기 때문에 취준생들이 꽤나 골치아파 합니다. 뻔한 말이지만 꾸준히 하는 것 밖에는 답이 없는 것 같습니다. 오늘은 '코딩 인터뷰를 위한 60가지 리트코드 문제'를 가져왔습니다. 구글 시트로 깔끔하게 정리된 버전도 있어서 후다닥 가져왔습니다. 저자에게 감사를(_ _) https://docs.google.com/spreadsheets/d/1Y98QKaYPazWImEt1nA_ocpGNJ-yQjH1FAsVQhUQ7OTw/edit#gid=0 📌 LinkedList - Linked List Cycle - Linked List Cycle II - Remove Duplicates from Sorted List - Remove Duplicates from Sorted List II - Add Two Numbers 📌 Stack - Valid Parentheses - Reverse Linked List 📌 Heap, PriorityQueue - Kth Largest Element in a Stream - Top K Frequent Elements - Find K Pairs with Smallest Sums 📌 HashMap - Two Sum - Group Anagrams - Intersection of Two Arrays - Unique Email Addresses - First Unique Character in a String - Subarray Sum Equals K 📌 Graph, BFS, DFS - Number of Islands - Max Area of Island - Number of Connected Components in an Undirected Graph - Word Ladder 📌 Tree, BT, BST - Maximum Depth of Binary Tree - Minimum Depth of Binary Tree - Merge Two Binary Trees - Convert Sorted Array to Binary Search Tree - Path Sum - Binary Tree Level Order Traversal - Binary Tree Zigzag Level Order Traversal - Validate Binary Search Tree - Construct Binary Tree from Preorder and Inorder Traversal 📌 Sort - Sorting Algorithms Animations https://www.toptal.com/developers/sorting-algorithms 📌 Dynamic Programming(DP) - Paint Fence - Longest Increasing Subsequence - Maximum Subarray - Unique Paths - Unique Paths II - House Robber - House Robber II - Best Time to Buy and Sell Stock - Best Time to Buy and Sell Stock II - Word Break - Coin Change 📌 Binary Search - Search Insert Position - Find Minimum in Rotated Sorted Array - Search in Rotated Sorted Array - Capacity To Ship Packages Within D Days 📌 Recursion - Pow(x, n) - K-th Symbol in Grammar - Split BST 📌 Sliding Window - Longest Substring Without Repeating Characters - Minimum Size Subarray Sum 📌 Greedy + Backtracking - Permutations - Subsets - Combination Sum - Generate Parentheses 📌 Others - Move Zeroes - Meeting Rooms - Meeting Rooms II - Is Subsequence - Next Permutation - String to Integer (atoi) - ZigZag Conversion 🐣 문제가 깔끔해서 개인적으로 좋아하는 사이트입니다. 🐣 하나씩 도장깨기 해보자구요.

60 LeetCode questions to prepare for coding interview

Medium

60 LeetCode questions to prepare for coding interview

 • 

조회 13,102

🕊️ 코딩테스트 습관을 들이는 4가지 방법

사실 단시간 안에 코딩테스트를 준비하기란 어려운 일입니다. 코딩테스트는 알고리즘과 문제 해결 능력 그리고 많은 풀이 경험을 필요로 하는데, 많은 개발자들은 일상적인 업무에서 이를 접하지 못합니다. 그러나 언제 어디에서 기회가 올 지 모르기 때문에, 본인이 목표하는 회사가 코딩테스트를 필요로 한다면 항상 준비해 두어야 하겠죠. 이번에는 '리트코드 습관을 들이는 방법'을 요약해 보았습니다. 비단 코딩테스트 뿐만 아니라 습관을 들이고 싶은 모든 것에 해당하는 것 같습니다. 1️⃣ 명백하게 만들어라 습관의 가장 일반적인 2가지 신호는 '시간'과 '장소' 입니다. [현재 습관] 이후에, [새로운 습관] 공식을 따르세요. '나는 헬스장에 가기 전에, 카페에 가서 코딩테스트를 푼다.' 2️⃣ 끌리게 만들어라 습관은 도파민에 의한 피드백 굴레입니다. 원하는 보상을 필요한 행동과 연결 시킨다면, 당신의 습관을 더 매력적으로 만들 것입니다. [현재 습관 - 내가 하고싶은 것] 이후에, [새로운 습관] 공식을 따르세요. '나는 유튜브를 보기 전에(내가 원하는 것), 집에서 코딩 테스트를 푼다.' 3️⃣ 쉽게 만들어라 최소한의 노력으로 달성하려 하는 것은 인간의 본성입니다.(그래서 그랬군!) 자연스럽게 가장 적은 노력을 필요로 하는 문제에 끌리게 되는 것도, 어쩌면 당연한 일입니다. 문제 풀이 시간의 처음은, 쉬운 문제를 푸세요. 어렵지 않게 문제를 해결하는 것은, 당신을 의욕적이고 신나게 만들 것입니다. 4️⃣ 만족스럽게 만들어라 인간의 뇌는 지연된 보상보다는 즉각적인 보상을 우선시 하도록 설계되어 있습니다. 그래서 습관을 붙이기 위해서는 사소한 것이라도 달성했다고 느껴야 합니다. 습관 추적을 하세요. 달력(혹은 다른 것)에 오늘의 to-do-list를 적고, 해치웠다면 크게 표시하세요. 습관 추적은 그 자체로 보상이 될 수 있습니다. 🐣 무언가를 꾸준히 한다는 것은 정말 어렵습니다.

How I build a habit to leetcode

Medium

How I build a habit to leetcode

 • 

조회 13,333

11월 멘토링 취업, 코딩테스트 관련 큐앤에이 모음

대학에서 컴공 공부 중인 학생을 멘토링 하는데, 그 친구가 했던 질문에 대한 대답 공유해요. 1️⃣ 리쿠르터/채용 담당자 연락이 안 와요. 요즘 제일 큰 걱정은 졸업반이고 내년 여름 졸업인데, 이력서를 여러 군데 냈지만, 아직 면접이 잡히지 않아서 답답하다고 했다. 01. 리쿠르터 연락 기다리지 말고 먼저 해라, 다만 “we’re hiring”이란 문구를 넣은 사람 타겟하라. 나도 대학생 시절 인턴십 찾을 때 비슷한 경험 했다. 연락이 안 와서 너무 속상했는데, 가장 효과 봤던 방법은 링크드인에 가고 싶은 회사를 검색한 다음, 그 회사에서 일하는 사람 중 ”we are hiring”이란 문구가 있는 사람에게 연락하는 것이었다. 사람을 구하는 중이기 때문에 면접 기회를 줄 가능성이 크다. 메시지 보낼 때 길게 쓰면 어차피 다 안 읽고, 길어서 무시할 수 있다. 그렇다고 짧게 쓰면 필요한 정보가 없고, 없는 정보 알아내려고 되묻는 게 귀찮아서 대답 안 할 수 있으니까, 최대한 짤막한 자기소개와 스킬/스펙을 포함하는 것이 좋다. 02. 학생이라면 어디서 들어본 회사만 알 수 있다. 그냥 아는 회사만 지원하지 말고, 다양한 곳에 넣어보자. 다양한 테크 회사 리스트: https://www.levels.fyi/benefits/401k/ 03. 키워드 노리자. 결국 리쿠르터도 검색해서 찾는다. 내가 가진 스킬과 관련된 키워드 10개 입력하자. 키워드 사용이 중요한 이유는, 하루에 100장 넘은 이력서를 스캔한다고 가정해보자. 길게 쓴 문장보다 리쿠르터가 찾는 키워드를 보여주는 것이 훨씬 임팩트 있다. 이력서 쓸 때 꼭 스킬과 관련된 키워드를 골고루 사용하자. 2️⃣ 취업 준비 시작하기 전에 할 수 있는 것은? 01. 사이드 프로젝트 하더라도 전략적으로 하자. 자신이 가장 자신 있는 스킬과 관련된 사이드 프로젝트나, 요즘 업계에서 인기있는 기술 도구를 사용한 사이드 프로젝트를 해보자. 결국 키워드가 중요하기 때문에, 사이드 프로젝트에 대해 적고 말할 때, 한 번에 알아듣고 쉽게 이해되는 키워드를 꼭 사용하자. 02. 자격증을 따기 위해 공부하지 말고, 공부 목표를 세우고 꾸준히 할 수 있는 동기부여를 주기 위해 (덤으로 자격증까지 받을 수 있는) 자격증 공부하는 건 괜찮다. 하지만 업계에서 알아주는 자격증은 적게는 20만 원에서 백만 원이 넘는다. 어차피 취업하면 회사에서 무료로 시켜줄 수 있는데, 굳이 자격증에 초점 두지 말고, 차나리 그 시간에 사이드 프로젝트 해라. 그리고 어차피 취업 잘하려면 다른 것보다 코딩 면접을 잘해야한다. 그냥 그 시간에 코딩 테스트 준비해라. 03. 하지만, 비전공자 남편의 경우 자격증이 도움 되었다. 컴공이 전공이 아닌 사람이 이력서를 돋보이게 하고 싶으면 필요할 수도 있다. 실제로 자격증을 따고난 후부터 링크드인에서 리쿠르터로부터 연락이 오기 시작했다. 3️⃣ 특정 분야에 집중하는 게 나은지 01. I said yes “and” no. Yes as in “특정 분야에 사회 생활 초반부터 집중한 친구가 그렇지 않은 친구보다 경력을 빨리 쌓는다”. No as in “경험이 풍부하지 않은 상태인데다가 확고하지 않은데 한 분야에 집중했다가 5년 후에 후회할 수 있다. 그땐 이미 늦었다. 풀스택, 머신러닝, 빅데이터, 분산시스템 등등 자신에게 맞는 분야를 빨리 알아내기 위해 주니어 시절 많은 것을 경험해보자. 주니어 때는 이직과 분야를 바꾸는 것이 쉽지만 시니어+는 힘들다. 그때 후회하는 것보다 차나리 주니어 때 시작을 조금 늦게 하더라도 모든 것을 경험해보는 것이 낫다. 4️⃣ 대학원을 가야 하는지? 01. 취업하려고 대학원을 가야 하는 것이 아니라, 공부를 좀 더 깊게 하고 싶으면 가도 좋다. 굳이 필요성을 느끼는 동료들이 많이 없는 것같다. 정말 하드코어 코더는 박사 공부를 하는 경우가 있어도 대부분 대학원을 가야한다는 인식이 없는 것같다. 02. 비전공자, 독학으로 시작한 남편은 대학원의 필요성을 느꼈다. 비전공으로 주니어로 시작해서 시니어가 된 후 지식의 부재를 많이 느꼈다. 결국 이론과 기본 지식을 탄탄히 다지기 위해 대학원에 입학했다. 그리고 만약 외국인이고 해외 취업을 노린다면, 대학원이 나쁘지는 않다. 대학원을 졸업하면 현지에서 취업할 수 있는 비자를 주는 나라가 많기 때문이다. 5️⃣ 30분간 리트코드 문제 풀이를 도와주면서 느꼈던 것 01. 문제 접근 방식을 유심히 살펴보니, 컴퓨터처럼 문제에 접근하지 않는 모습이 보였다. 컴퓨터처럼 풀려면 문제를 대충 큰 그림 그리듯이 보면 안 된다. 마치 내 머릿속에 코드를 한 줄 한 줄 그려보고 그 한 줄을 실행할 때 어떤 현상이 일어나야 하는지 쉬운 예와 함께하면, 수도 코드를 적을 수 있다. 수도 코드를 한 줄씩 적어보고 아주 간단한 테스트 케이스를 적은 다음 컴퓨터처럼 수도 코드를 머릿속에 실행해보자. 수도 코드만 적어도 문제를 반 이상 푼 것으로 생각하고 자신감을 심어주는 것도 좋다. 나중에 패턴이 보이는 단계가 오면 수도 코드를 안 적고 머릿속에 그려보기만 하면 된다. ✨해외 취업이나 궁금한 점은 언제든지 코멘트에 남겨주세요 🪴 함께 읽으면 좋은 글: [개발자 멘토에게 들은 뼈때리는 조언들 + 무료 템플릿] https://careerly.co.kr/comments/67097 [연봉 협상 반드시 해야 하는 이유: 업데이트 버전] https://careerly.co.kr/comments/67096 [자기 개발에 도움되는 개발 도서 효율적으로 읽는 법] https://careerly.co.kr/comments/67007 [개발자의 공부법 - 뭘 공부해야 되지?] https://careerly.co.kr/comments/67013

 • 

조회 10,293

⌨️ 코딩테스트 연습해봐요!

'내가 만약 지금 다시 취준생이 된다면 회사에 입사할 수 있을까?' 라는 생각을 가끔씩 하는데 제가 취준생일때보다 높아진 코딩 테스트 난이도 때문에 힘들수도 있겠다는 결론을 내리곤 합니다. 그래서 현재 내 코딩 테스트 실력은 어느정도인지 궁금해서 찾아보다가 첨부드린 사이트를 찾아서 오랜만에 코딩테스트를 해봤네요. 재미겸 연습겸 시간이 되시는 분들은 자신있으신 언어로 코딩테스트 한번 해보시면 어떨까요?

코딩테스트 연습 - 귤 고르기

프로그래머스 스쿨

코딩테스트 연습 - 귤 고르기

 • 

조회 2,104

[개발] 공부했던 사이트

[ 코딩테스트 준비 ] 1. 니트 코드 (Eng) Link : https://neetcode.io/courses 2. 리트 코드 (Eng) Link : https://programmers.co.kr/ 3. 백준 (Kor) Link : https://www.acmicpc.net/ 4. 프로그래머스 (Kor) Link : https://leetcode.com/ 국내 대기업 코테를 위한 준비는 프로그래머스 추천합니다. 정석 풀이코드도 보고싶다면, 니트 코드 추천합니다. 단계별 학습 및 여러 사람들의 코딩스킬을 보고싶다면 백준 추천합니다. 해외 취업용 코딩을 준비한다면 리트 코드 추천합니다. 저는 니트코드와 프로그래머스를 주로 이용하였습니다. [ 인공지능 ] 1. Keras (Sample Code) Link : https://keras.io/examples/ 2. Kaggle (course) Link : https://www.kaggle.com/ Kaggle은 course를 전부 끝내고 Colab으로 Keras의 Sample code 돌려보시는걸 추천합니다. 이후 Kaggle에 여러 Competition에 참가하여 직접 모델을 설계해봐도 좋을것같습니다.

 • 

조회 685

제가 정말 못하는 부분이 알고리즘 문제 푸는 것입니다. 코딩 테스트 공부 방법을 공유 하신 블로그가 있어서 가져왔습니다. 블로그에는 많은 알고리즘 문제 푸는 것도 나와 있고, 여러 개발 글도 있습니다. 공부법에 대해 순서대로 잘 정리가 되어 있고, 핵심은 아래와 같습니다. 1. 자료구조 학습 2. 구현 3. 유형 문제 풀이 4. 대회/ 코딩테스트 참가 5. 미약한 유형부분 학습 블로그 글 쓰신 분께서 자신이 참고 했던 링크나, 블로그들도 소개 하고 있으니 한 번씩 참고 하셔서 학습 하시는 것도 도움 되시리라 생각 합니다.

코딩과 디버깅 사이 : 네이버 블로그

blog.naver.com

코딩과 디버깅 사이 : 네이버 블로그

 • 

조회 2,684

코딩테스트는 개발자 평가의 절대적인 기준이 될 수 있는가?

(이 글은 저의 아-주 개인적인 생각으로 점철된 내용임을 알려드립니다.) 나는 운이 좋게도 고등학생이던 시절부터 C, C++, Win API를 배우며 개발과 친해질 수 있었다. 대학 전공도 마찬가지여서 주변 친구들은 전공을 살려 대부분 개발자가 되었고, 스타트업으로 나름 성공한 친구도 있다. 그래서 자주는 아니지만, 가끔 친구들과 대화 하는 것이 내 일에 도움이 된다. (고마워 친구들) 그 시절을 떠올려보면 알고리즘 쪽지 시험은 망쳐도 실습에서는 유독 눈에 띄고 실제로 좋은 회사를 간다던 친구들이 있었다. 요즘 채용에서 코딩테스트가 기본적으로 선행되고 있는데, 나는 코딩테스트가 개발자 평가의 절대적인 기준이 될 수 있는가?에 대해 고민 중이다. (여기서 잠깐!) 코딩테스트는 왜 탄생했을까? 손코딩이나 API개발 같은 과제를 주던 과거에는 개발자 리소스가 상당히 많이 들어갔다. 본인의 업무도 바빠 죽겠는데 채용 쪽으로 공수가 많이 들어가다보면 스트레스가 이만저만이 아니고, 이럴거면 우리가 채용하지 왜 채용담당자가 있는지?라는 불만도 실제로 들어봤다. 이런 피드백 때문에 채용담당자(또는 HR)가 알아서 추려오면 면접이 끝난 뒤 이런 사람은 왜 데려왔냐는 핀잔을 받기 일쑤다. 어떡하란 말인가! 두둥. 코딩테스트 탄생! 현업의 리소스를 줄이고, 적당히 필터링이 되면서 채용담당자도 어느정도의 역할을 할 수 있는 툴은 나야나🕺🏻 (사실 알고리즘 라이브코딩에서 발전되어 코딩테스트가 생겼을 것도 같다. 이유는 다양할텐데 오롯이 나의 의견일 뿐) 어쨌든 개발자는 다양한 유형이 있고 다양한 상황에 직면하기 때문에 일률적으로 코딩테스트를 보게하는 것은 과거 주입식 교육(릿코드에 살으리랏다) 후 봤던 학력평가시험과 다를게 없다는게 내 생각이다. 물론 CS foundation은 중요하고, 잘 짜여진 구조를 설계하고 스케입업이든 다운이든 리팩토링이든 그것을 가능하게 하는 기본적인 역량을 코딩테스트가 어느정도 파악할 수 있다는 사실을 부정하진 않는다. 다만, 그 여집합에 속해 있는 개발자에 대해서도 우리는 한번쯤 고민해봐야 하지 않을까? 내가 쓰던 IDE가 아니라 낯선 웹페이지에서 일방적으로 주어진 문제를 풀어야 한다니. ‘이 문제는 이런걸 확인하고자 하는 것인가요?’ 또는 ‘이 함수를 쓰면 좋을 것 같은데 다른 함수로도 테스트케이스를 통과할 순 있잖아요?’ 등의 질문에 답변만 있다면 더 잘 풀 수 있는 사람도 있지 않을까? 이런 개인적인 물음에 현업의 적극적인 참여 이외에는 아직 답을 찾지 못했다. 현재의 코딩테스트를 통과하지 못하는 사람을 절-대 우리와 함께 할 수 없는 사람들이라고 치부해야 할지, 그 중에 잘하는 사람이 있을 가능성은 없는지, 그래서 그런 사람들은 어떻게 찾고 또 검증해야 하는지. (물론, 현업의 리소스는 코딩테스트 만큼만 들어가야 한다는 전제조건이 붙는다.) 답을 찾게 되면 짧은 생각에 글을 남길텐데, 그 글을 남길 수 있는 날이 오면 좋겠다.

조회 853