전체 글

    May LeetCoding Challenge[Day11] - Flood Fill

    An image is represented by a 2-D array of integers, each integer representing the pixel value of the image (from 0 to 65535). Given a coordinate (sr, sc) representing the starting pixel (row and column) of the flood fill, and a pixel value newColor, "flood fill" the image. To perform a "flood fill", consider the starting pixel, plus any pixels connected 4-directionally to the starting pixel of t..

    May LeetCoding Challenge[Day10] - Find the Town Judge

    In a town, there are N people labelled from 1 to N. There is a rumor that one of these people is secretly the town judge. If the town judge exists, then: 1. The town judge trusts nobody. 2. Everybody (except for the town judge) trusts the town judge. 3. There is exactly one person that satisfies properties 1 and 2. You are given trust, an array of pairs trust[i] = [a, b] representing that the pe..

    May LeetCoding Challenge[Day9] - Valid Perfect Square

    Given a positive integer num, write a function which returns True if num is a perfect square else False. Note: Do not use any built-in library function such as sqrt. Input: 16 Output: true 1. 알고리즘을 해결하기 위해서 생각한 방법 - 해당 문제는 input 숫자가 n*n 인 숫자인가에 관련된 문제이다. - 특정 숫자를 고르는 것이기 때문에, 이진탐색을 생각했다. - 특정 숫자를 고르는 문제와 같이, 이진탐색을 하는 조건을 알게 되었다. - 1~N까지 범위가 주어졌을 때, 숫자 하나를 선택할 때 가장 빠르게 찾기 위해서는 가장 적합하다고 생각하게 되었다. ..

    Leetcode[day24] - Jump Game

    Given an array nums, write a function to move all 0's to the end of it while maintaining the relative order of the non-zero elements. Note: 1. You must do this in-place without making a copy of the array.Minimize the total number of operations. 2. Minimize the total number of operations. Input: nums = [3,2,1,0,4] Output: false Explanation: You will always arrive at index 3 no matter what. Its ma..

    May LeetCoding Challenge[Day8] - Check If It Is a Straight Line

    You are given an array coordinates, coordinates[i] = [x, y], where [x, y] represents the coordinate of a point. Check if these points make a straight line in the XY plane. Input: coordinates = [[1,2],[2,3],[3,4],[4,5],[5,6],[6,7]] Output: true Input: coordinates = [[1,1],[2,2],[3,4],[4,5],[5,6],[7,7]] Output: false 1. 알고리즘을 해결하기 위해서 생각한 방법 - 우선 주어진 예제에서는 x와 y가 각각 증가하는 숫자에 대해서 보게 되었다. - [1,1]이 [2..

    May LeetCoding Challenge[Day7] - Cousins in Binary Tree

    In a binary tree, the root node is at depth 0, and children of each depth k node are at depth k+1. Two nodes of a binary tree are cousins if they have the same depth, but have different parents. We are given the root of a binary tree with unique values, and the values x and y of two different nodes in the tree. Return true if and only if the nodes corresponding to the values x and y are cousins...

    Leetcode[day23] - LRU Cache

    Design and implement a data structure for Least Recently Used (LRU) cache. It should support the following operations: get and put. get(key) - Get the value (will always be positive) of the key if the key exists in the cache, otherwise return -1.put(key, value) - Set or insert the value if the key is not already present. When the cache reached its capacity, it should invalidate the least recentl..

    May LeetCoding Challenge[Day6] - Majority Element

    Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋ times. You may assume that the array is non-empty and the majority element always exist in the array. Input: [3,2,3] Output: 3 Input: [2,2,1,1,1,2,2] Output: 2 1. 알고리즘을 해결하기 위해서 생각한 방법 - 해당 문제는 배열이 주어질 때, 주어진 배열의 크기 n보다, 항상 [n/2] 보다 많은 수가 존재한다. - 처음 접근 방법은 Map을 사용했다. Map을 통해서 K..