일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 아스테리스크 #Asterisk #파이썬
- dfs #leetcode #python
- 해시테이블 #heapq #파이썬 #리트코드 #알고리즘
- exoplayer #mediaplayer #엑소플레이어 #안드로이드 #android
- gcd #최대공약수 #백준 #2981 #검문
- leetcode #python #dfs #재귀
- AsyncTask #doinbackground #스레드 #thread #android #안드로이드
- dfs #bfs #트리구조 #이진트리 #leetcode #python #파이썬
- dfs #bfs #트리구조 #이진트리 #leetcode #파이썬 #python
- python #백준 #2580 #스도쿠 #dfs #백트래킹
- final #java #자바 #안드로이드
- dfs #python #leetcode #combination
- 2004 #조합 0의 개수 #백준
- 다익스트라 #알고리즘 #bfs #그리디 #다이나믹프로그래밍 #leetcode #python
- context #android #getApplicationContext #activity #생명주기 #lifecycle
- dfs #이진트리 #트리구조 #직렬화 #역직렬화 #파이썬 #리트코드 #leetcode #python
- 파이썬 #zip
- dfs #bfs #이진트리 #파이썬 #리트코드
- dfs #그래프 #graph #python #leetcode #course #schedule
- handler #looper #thread #runnable #핸들러 #루퍼 #스레드 #러너블
- 다익스트라 #dijkstra #leetcode #파이썬 #python #algorithm #787
- 백준 #파이썬 #bfs #백트래킹 #1697 #숨바꼭질
- 리트코드 #팰린드롬 #파이썬
- dfs #python #leetcode
- python #백준 #9375 #패션왕 #신해빈
- dfs #bfs #leetcode #python
- leetcode #subsets #dfs #itertools #python
- Python #leetcode #dfs #그래프 #백트래킹
- 코틀린 #Do it #깡샘 #안드로이드
- dfs #leetcode #python #graph #그래프
- Today
- Total
목록Algorithm Study/leetcode (44)
멋진 개발자가 되고 싶다
상위 K번 이상 등장하는 요소를 출력하라. Input: nums = [1,1,1,2,2,3], k = 2 Output: [1,2] 1. 내가 푼 코드 1 2 3 4 5 6 7 class Solution: def topKFrequent(self, nums: List[int], k: int) -> List[int]: freq_cnts = collections.Counter(nums) a = freq_cnts.most_common(k) b = [] for i in range(k): b.append(a[i][0]) Colored by Color Scripter cs 해설: Counter를 이용하여 nums의 빈도수를 계산하고 most_common 함수를 이용하여 k개의 최빈값을 구한다. ** 깔끔한 답안 ** ..
중복 문자가 없는 가장 긴 부분 문자열(Substring)의 길이를 리턴하라. Input: s = "abcabcbb" Output: 3 Explanation: The answer is "abc", with the length of 3. 보통 문자열이나 리스트를 대상으로 여러 인덱스를 앞에서부터 비교해나가는 문제는 투 포인터나 슬라이딩 윈도를 이용하여 해결할 수 있다. ** 깔끔한 답안 ** 1. 슬라이딩 윈도우와 투 포인터로 사이즈 조절 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class Solution: def lengthOfLongestSubstring(self, s: str) -> int: used = {} max_length = start = 0 for index, c..
You're given strings jewels representing the types of stones that are jewels, and stones representing the stones you have. Each character in stones is a type of stone you have. You want to know how many of the stones you have are also jewels. Letters are case sensitive, so "a" is considered a different type of stone from "A". Input: jewels = "aA", stones = "aAAbbbb" Output: 3 ** 깔끔한 답안 ** 1. 해시 ..
Design a HashMap without using any built-in hash table libraries. Implement the MyHashMap class: MyHashMap() initializes the object with an empty map. void put(int key, int value) inserts a (key, value) pair into the HashMap. If the key already exists in the map, update the corresponding value. int get(int key) returns the value to which the specified key is mapped, or -1 if this map contains no..
k개의 정렬된 리스트를 1개의 정렬된 리스트로 병합하라. Input: lists = [[1,4,5], [1,3,4], [2,6]] Output: [1,1,2,3,4,4,5,6] Explanation: The linked-lists are: [ 1->4->5, 1->3->4, 2->6 ] merging them into one sorted list: 1->1->2->3->4->4->5->6 ** 깔끔한 답안 ** 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # ..
다음 연산을 제공하는 원형 데크를 디자인하라. MyCircularDeque(k): 생성자, 데크의 크기를 k로 설정합니다. insertFront(): 데크 앞에 항목을 추가합니다. 작업이 성공하면 true를 반환합니다. insertLast() : Deque 후방에 항목을 추가합니다. 작업이 성공하면 true를 반환합니다. deleteFront() : Deque 전면에서 항목을 삭제합니다. 작업이 성공하면 true를 반환합니다. deleteLast() : Deque 후면에서 항목을 삭제합니다. 작업이 성공하면 true를 반환합니다. getFront(): Deque에서 프런트 아이템을 가져옵니다. 데크가 비어 있으면 -1을 반환합니다. getRear(): Deque에서 마지막 항목을 가져옵니다. 데크가 비어..
매일의 화씨온도 리스트 T를 입력받아서, 더 따뜻한 날씨를 위해서는 며칠을 더 기다려야 하는지를 출력하라. Input: temperatures = [73,74,75,71,69,72,76,73] Output: [1,1,4,2,1,1,0,0] ** 깔끔한 답안 ** 1. 스택 값 비교 1 2 3 4 5 6 7 8 9 10 11 12 class Solution: def dailyTemperatures(self, temperatures: List[int]) -> List[int]: answer = [0] * len(temperatures) stack = [] for i, cur in enumerate(temperatures): #현재 온도가 스택 값보다 높다면 정답 처리 while stack and cur > ..
중복된 문자를 제외하고 사전식 순서(Lexicographical Order)로 나열하라. Input: s = "bcabc" Output: "abc" Input: s = "cbacdcbc" Output: "acdb" 설명: 사전식 순서란 글자 그대로 사전에서 가장 먼저 찾을 수 있는 순서를 말한다. 따라서 만약 "bcabc"같은 경우, b, c가 중복되는데 앞의 두 개를 지우면 "abc"가 되어 사전식 순서가 된다. 하지만 "eabc"같은 경우, 뒤에 e와 중복되는 문자가 없기 때문에 지울 수 없다. 따라서 사전식 순서는 "eabc"가 된다. ** 깔끔한 답안 ** 1. 재귀를 이용한 분리 1 2 3 4 5 6 7 8 9 class Solution: def removeDuplicateLetters(self..