들어가며 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있습니다. 문제들은 모두 리트코드에서 출제된 문제들이며, 문제 풀이의 많은 부분을 책의 힌트와 해설을 참고하였습니다. 포스팅되는 모든 문제들의 목록과 풀이는 파이썬 알고리즘 인터뷰에서 제공하는 깃허브에서 확인하실 수 있습니다. 문제 Given the array of integers nums, you will choose two different indices i and j of that array. Return the maximum value of (nums[i]-1)*(nums[j]-1). 배열에서 (nums[i]-1)*(nums[j]-1)가 가장 큰 값을 출력하라 입출력 예시 Example 1: Input: nums = [3,4,5,2] Ou..
리트코드
들어가며 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있습니다. 문제들은 모두 리트코드에서 출제된 문제들이며, 문제 풀이의 많은 부분을 책의 힌트와 해설을 참고하였습니다. 포스팅되는 모든 문제들의 목록과 풀이는 파이썬 알고리즘 인터뷰에서 제공하는 깃허브에서 확인하실 수 있습니다. 문제 Given an integer array nums where the elements are sorted in ascending order, convert it to a height-balanced binary search tree. A height-balanced binary tree is a binary tree in which the depth of the two subtrees of every node never..
들어가며 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있습니다. 문제들은 모두 리트코드에서 출제된 문제들이며, 문제 풀이의 많은 부분을 책의 힌트와 해설을 참고하였습니다. 포스팅되는 모든 문제들의 목록과 풀이는 파이썬 알고리즘 인터뷰에서 제공하는 깃허브에서 확인하실 수 있습니다. 문제 Given the root of a binary tree, invert the tree, and return its root. 주어진 이진트리를 반전시켜 루트를 리턴하라. 입출력 예시 Example 1: Input: root = [4,2,7,1,3,6,9] Output: [4,7,2,9,6,3,1] Example 2: Input: root = [2,1,3] Output: [2,3,1] Example 3: Input: ..
들어가며 갑자기 잘 쓰던 들어가며에 뭘 써야할 지 헷갈리기 시작했다. 원래 아무말이나 적었던거 같은데... 오늘도 열심히 잠을 잤으니 그 업보를 지금의 나에게 지우기로 하고 오늘의 TIL은 이진 탐색트리의 개념과 문제 풀이를 정리해보고자 한다! 이진 탐색 트리 이진 탐색 트리(BST, Binary Search Tree)란 이진 탐색(Binary search)과 연결리스트(Linked list)의 아이디어를 결합한 자료구조의 일종이다. 커리큘럼상 뒤에 배우게 될 이진탐색의 경우 소요되는 시간 복잡도는 O(log n)으로 빠르지만 삽입, 삭제가 불가능하다. 반면 연결리스트의 경우 삽입, 삭제에 필요한 시간 복잡도는 O(1)로 효율적이지만 탐색하는 데에는 O(n)가 소요된다. 이진 탐색 트리는 이진 탐색의 효..
들어가며 쌓인 스트레스 + 컨디션 + 부족한 수면시간 콤보로 하루종일 잠만 잤다. 그 업보로 새벽에 TIL 쓰기 시작하기 형벌을 받게 됐다ㅎ 오늘은 몇시에 잘 수 있을까... 오늘의 TIL은 오늘 배운 트리의 개념과 구현문제를 정리하도록 해보자! 트리 트리란? 뿌리와 가지로 구성되어 거꾸로 세워놓은 나무처럼 보이는 계층형 비선형 자료구조. 한 가족의 계보를 나타내는 족보나 회사 조직도 같은 것들도 트리 구조 형태로 되어 있다. 트리에서 사용하는 용어 기본적으로 그래프와 크게 다르지 않지만 트리에서 사용하는 용어들을 먼저 알고 들어가보자 Node 트리에서 데이터를 저장하는 기본 요소 Root Node 트리 맨 위에 있는 노드 Level 최상위 노드를 Level 0으로 하였을 때, 하위 Branch로 연결된..
들어가며 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있습니다. 문제들은 모두 리트코드에서 출제된 문제들이며, 문제 풀이의 많은 부분을 책의 힌트와 해설을 참고하였습니다. 포스팅되는 모든 문제들의 목록과 풀이는 파이썬 알고리즘 인터뷰에서 제공하는 깃허브에서 확인하실 수 있습니다. 문제 Given the root of a binary tree, return its maximum depth. A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node. 이진 트리의 최대 깊이를 구하라. 입출력 예시 Example 1: Input: root ..
들어가며 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있습니다. 문제들은 모두 리트코드에서 출제된 문제들이며, 문제 풀이의 많은 부분을 책의 힌트와 해설을 참고하였습니다. 포스팅되는 모든 문제들의 목록과 풀이는 파이썬 알고리즘 인터뷰에서 제공하는 깃허브에서 확인하실 수 있습니다. 문제 The n-queens puzzle is the problem of placing n queens on an n x n chessboard such that no two queens attack each other. Given an integer n, return all distinct solutions to the n-queens puzzle. You may return the answer in any order. ..
들어가며 점점 어려워지는 난이도와 떨어지는 집중력 때문에 진도를 많이 나가지 못했다. 오늘의 TIL은 크게 개념적으로 정리 할 내용이 많지 않았으니 CS스터디 중 다루고 싶었던 내용과 백트래킹으로 풀 수 있는 문제를 공부한 내용을 작성해보고자 한다. 컴퓨터 보안 보안 공격 보안 공격하면 많은 사람들이 'DDoS 공격'을 떠올릴 것이다. 나도 정확한 시기는 기억이 나지 않지만 한때 국내에서 DDos 공격이 뉴스에서 자주 언급되어서 알게 됐던 것 같다. 또, 한동안 큰 문제로 부상했던 공격을 꼽으라면 단연 '랜섬웨어'를 말할 수 있다. 그 전까지는 컴퓨터를 자주 사용하지 않는 사람이라면 모를 가능성이 큰 공격이었는데 일반인도 감염되는 사례가 속출하자 뉴스에 본격적으로 다뤄지기 시작하면서 이젠 랜섬웨어를 모르..
들어가며 알고리즘 2주차의 1일차... 오늘의 회고는 짤 하나로 요약하고, 지난 그래프 알고리즘 DFS에 이어 BFS에 대해 TIL을 작성하고자 한다 그래프 탐색(순회) 깊이 우선 탐색(BFS, Breadth First Search) BFS는 특정 노드에서 시작해 인접한 노드를 먼저 탐색해나가는 방법으로, 주로 두 노드 사이의 최단 경로 혹은 임의의 경로를 찾고 싶을 때 사용한다. 쉽게 말하면, 그림처럼 임의의 시작 정점에서부터 가까운 정점을 먼저 방문하고 멀리 떨어져있는 정점을 나중에 방문하는 방식으로 그래프를 순회하는 방법이다. BFS는 일반적으로 큐를 이용해서 지금 위치에서 갈 수 있는 곳들을 모두 큐에 넣는 방식으로 구현한다. 역시나 BFS도 예시를 들어가며 자세하게 설명해주는 글이 있어 첨부한다..
들어가며 본 포스팅은 책에서 다룬 리트코드 문제들을 다루고 있습니다. 문제들은 모두 리트코드에서 출제된 문제들이며, 문제 풀이의 많은 부분을 책의 힌트와 해설을 참고하였습니다. 포스팅되는 모든 문제들의 목록과 풀이는 파이썬 알고리즘 인터뷰에서 제공하는 깃허브에서 확인하실 수 있습니다. 문제 Given an m x n 2D binary grid grid which represents a map of '1's (land) and '0's (water), return the number of islands. An island is surrounded by water and is formed by connecting adjacent lands horizontally or vertically. You may as..
반응형