본문 바로가기

분류 전체보기

(182)
Leetcode[day7] - Counting Elements Given an integer array arr, count element x such that x + 1 is also in arr. If there're duplicates in arr, count them seperately. Input: arr = [1,2,3] Output: 2 Explanation: 1 and 2 are counted cause 2 and 3 are in arr. Input: arr = [1,1,3,3,5,5,7,7] Output: 0 Explanation: No numbers are counted, cause there's no 2, 4, 6, or 8 in arr. Input: arr = [1,3,2,3,5,0] Output: 3 Explanation: 0, 1 and 2 ..
Leetcode[day6] - Group Anagrams Given an array of strings, group anagrams together. Note: All inputs will be in lowercase.The order of your output does not matter. Input: ["eat", "tea", "tan", "ate", "nat", "bat"] Output: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ] 1. 알고리즘을 해결하기 위해서 생각한 방법 - HashMap 자료구조를 사용한다. - Key는 "eat","tea","ate"를 하나로 묶을 수 있는 sort된 단어가 필요하다. - value는 list가 들어간다. - key에 대한 value가 있다면, 해당 value인 리스트를 가..
LeetCode[day5] - Best Time to Buy and Sell Stock II Say you have an array prices for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete as many transactions as you like (i.e., buy one and sell one share of the stock multiple times). Note: You may not engage in multiple transactions at the same time (i.e., you must sell the stock before you buy again). Input: [7,1,5,3,6,4]..
LeetCode[day4] - Move zeros 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. Example: Input: [0,1,0,3,12] Output: [1,3,12,0,0] 1. 알고리즘을 해결하기 위해서 생각한 방법 - 문제의 조건에서는 별도의 다른 array 공간을 만들면 안..
LeetCode[day3] - Maximum Subarray Given an integer array nums, find the contiguous subarray (containing at least one number) which has the largest sum and return its sum. Follow up: If you have figured out the O(n) solution, try coding another solution using the divide and conquer approach, which is more subtle. Example: Input: [-2,1,-3,4,-1,2,1,-5,4], Output: 6 Explanation: [4,-1,2,1] has the largest sum = 6. 1. 알고리즘을 해결하기 위해서 ..
LeetCode[day2] - Happy Number Write an algorithm to determine if a number n is "happy". A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares of its digits, and repeat the process until the number equals 1 (where it will stay), or it loops endlessly in a cycle which does not include 1. Those numbers for which this process ends in 1 are ha..
LeetCode[day1] - Single Number Given a non-empty array of integers, every element appears twice except for one. Find that single one. Note: Your algorithm should have a linear runtime complexity. Could you implement it without using extra memory? Example 1: Input: [2,2,1] Output: 1 Example 2: Input: [4,1,2,1,2] Output: 4 0. 내가 하고 싶은 것 Input은 주어진 숫자들에 대해서 쌍을 이뤄서 어떤 값들이 들어있다고 한다. 이 때, Stream 코드와 단순 코드로 해당 알고리즘을 구해보려고 한다. 1. 단순 ..
RecyclerView-selection 느낀 점 0. 서론 안녕하세요. '담다'앱을 개발하면서, recyclerview-selection을 사용했습니다. 시간표와 함께, TO-DO를 관리하기 위해서 만들면 유용할 것이라고 생각을 했습니다. 밑의 gif에서 보이는 것처럼 왼쪽에서는 날짜를 누르는 단일 selection을 사용했고, 오른쪽에서는 끝 낸, 일정을 관리하는멀티 selection을 사용했습니다. 결론을 말하면, selection 라이브러리는 해당 기능을 구현하기에는 좋은 라이브러리가 아니라는 것을 알게 되었습니다. 1. 장점 - 어느 정도 정형화 된 방법으로 Selection을 구현할 수 있다. - docs에서 제공하는 간단한 예제를 통해서 간단한 기능을 구현하는 것에 적합하다. - 아이템을 선택 -> 선택한 아이템을 일괄적으로 처리하는 단순한..