본문 바로가기

전체 글

Path Sum (Recursive) LeetCode의 Binary Tree 튜토리얼 두 번째 섹션의 마지막 문제인 Path Sum이다. Account Login - 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 트리의 루트 노드부터 자식 노드까지 탐색하면서 한 경로의 노드 값들을 합해서 특정 값을 만들 수 있는지 확인하는 문제다. 노드의 값과 합해서 만들어야 하는 값들은 음수 또는 양수 둘 다 될 수 있기 때문에 말단 노드까지 합해가면서 특정 값이 만들어졌는지 확인해야 한다. 그래서 재귀적으로 이.. 더보기
Symmetric Tree (Recursive) LeetCode의 Binary Tree 튜토리얼의 두 번째 섹션의 두 번째 문제인 Symmetric Tree다. Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 주어진 트리가 대칭 구조인지 판별하는 문제로 대칭 구조인 트리라는 것은 다음과 같은 트리를 의미한다. 마치 거울을 보는 것처럼 좌우반전을 해도 그 모양과 노드의 값이 동일한 트리를 대칭 트리라고.. 더보기
Maximum Depth of Binary Tree (Recursive) LeetCode의 Binary Tree 튜토리얼의 두 번째 섹션의 첫 번째 문제인 Maximum Depth of Binary Tree다. Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 이진트리의 높이(또는 깊이)를 구하는 문제로 루트 노드부터 시작해서 가장 깊은 곳에 있는 자식 노드까지 몇 개의 노드를 거쳐가야 하는지 구하는 문제다. LeetCode의.. 더보기
왜 데이터베이스를 사용해야 하는가? 요즘 웹 서비스를 개발할 때는 거의 모든 경우 데이터베이스를 사용할 것이다. 그런데 이런 데이터를 서버에 그냥 텍스트나 json 파일로 저장해서 읽고 쓰는 것과 어떤 차이가 있기 때문에 사용하는 걸까? 앞으로 백엔드 분야로 취업을 희망하고 있는 만큼 데이터베이스에 대해서도 공부를 좀 해보려고 한다. 데이터베이스? 먼저 데이터베이스에 대한 위키피디아의 정의는 다음과 같다. 여러 사람이 공유하고 사용할 목적으로 통합 관리되는 정보의 집합이다. 논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율화를 꾀한 것이다. 즉, 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다. 단순히 파일에 .. 더보기
Group Anagrams LeetCode의 Group Anagrams 문제다. Group Anagrams - 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 주어진 문자열들에 대하여 애너그램에 해당하는 단어끼리 묶어서 리스트로 반환하는 것이 목적인데 처음에 생각한 것은 어차피 애너그램은 글자가 뒤죽박죽 섞여있더라도 결국 문자의 개수는 동일하기 때문에 이전 포스트에서 활용한 Counter 클래스를 이용하여 각 문자 별 빈도를 계산, 동일 여부로 계산하는 방법이었다. import collec.. 더보기
Most Common Word LeetCode의 Most Common Word 문제다. Most Common Word - 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 이전 포스트에 이어 문자열 처리에 관련된 문제인데 문장을 단어 단위로 구분해야 하기 때문에 여간 까다로운 문제가 아니었다. 그래서인지 Easy 난이도임에도 불구하고 비추가 더 많은 것 같은데... 일단 결과적으로는 풀이를 참고했기 때문에 완전히 스스로의 힘으로 푼 건 아니지만 생각을 조금 전환할 수 있는 계기가 됐다. 문제는 .. 더보기
String to Integer (atoi) LeetCode의 String to Integer (atoi) 문제다. String to Integer (atoi) - 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 단순히 주어진 문자열을 정수로 변환하는 것이 목적인데 파이썬에서는 그냥 int() 메서드로 문자열을 정수로 변환할 수 있다. 하지만 메서드의 매개변수로 전달되는 문자열은 올바른 문자열이어야 하기 때문에 문제에서 주어진 문자열을 필터링하는 과정이 필요하다. 문제에서 요구되는 조건은 다음과 같다. 문자.. 더보기
Reorder Data in Log Files (Sort) LeetCode의 Reorder Data in Log Files 문제다. Reorder Data in Log Files - 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 주어진 문자열을 특정 조건에 따라 정렬시키는 문제인데 지엽적인 조건이 많아서 그런지 너무 쉬워서 그런 건지 모르겠지만 평가가 별로 좋지 않다(비추가 추천의 3배...). 그래도 파이썬 활용에 익숙해지고 정렬 메서드를 연습하는 김에 풀어보았다. 문제의 조건은 다음과 같다. 문제에서는 로그(문자열).. 더보기