일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 #파이썬 #bfs #백트래킹 #1697 #숨바꼭질
- 파이썬 #zip
- AsyncTask #doinbackground #스레드 #thread #android #안드로이드
- dfs #bfs #트리구조 #이진트리 #leetcode #python #파이썬
- 아스테리스크 #Asterisk #파이썬
- dfs #python #leetcode #combination
- leetcode #python #dfs #재귀
- exoplayer #mediaplayer #엑소플레이어 #안드로이드 #android
- 2004 #조합 0의 개수 #백준
- handler #looper #thread #runnable #핸들러 #루퍼 #스레드 #러너블
- 코틀린 #Do it #깡샘 #안드로이드
- dfs #leetcode #python
- dfs #bfs #leetcode #python
- dfs #bfs #이진트리 #파이썬 #리트코드
- dfs #leetcode #python #graph #그래프
- leetcode #subsets #dfs #itertools #python
- final #java #자바 #안드로이드
- Python #leetcode #dfs #그래프 #백트래킹
- dfs #bfs #트리구조 #이진트리 #leetcode #파이썬 #python
- python #백준 #2580 #스도쿠 #dfs #백트래킹
- 해시테이블 #heapq #파이썬 #리트코드 #알고리즘
- dfs #이진트리 #트리구조 #직렬화 #역직렬화 #파이썬 #리트코드 #leetcode #python
- 다익스트라 #dijkstra #leetcode #파이썬 #python #algorithm #787
- 리트코드 #팰린드롬 #파이썬
- gcd #최대공약수 #백준 #2981 #검문
- 다익스트라 #알고리즘 #bfs #그리디 #다이나믹프로그래밍 #leetcode #python
- dfs #그래프 #graph #python #leetcode #course #schedule
- python #백준 #9375 #패션왕 #신해빈
- dfs #python #leetcode
- context #android #getApplicationContext #activity #생명주기 #lifecycle
- Today
- Total
목록Algorithm Study (61)
멋진 개발자가 되고 싶다
정의: 2개 이상의 시퀀스를 짧은 길이를 기준으로 일대일 대응하는 새로운 튜플 시퀀스를 만드는 역할 정의만 보고는 뭔 소린지 잘 이해가 안 된다. >>> a = [1,2,3,4,5] >>> b = [6,7,8,9] >>> c = [2,3,4] >>> zip(a, b) 파이썬 2에서는 zip()의 결과는 바로 리스트가 되지만 파이썬 3+에서는 제너레이터를 리턴한다. 따라서 제너레이터의 실제값을 추출하기 위해서는 list()로 한 번 더 묶어주면 된다. >>> list(zip(a, b)) [(1,6), (2,7), (3,8), (4,9)] >>> list(zip(a, b, c)) [(1,6,2), (2,7,3), (3,8,4)] 보다시피 제일 짧은 시퀀스를 기준으로 값이 묶이는 것을 확인할 수 있다. 아울러..
상위 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..
문제 조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다. 이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다. 조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 이루어져 있다. 한 줄에 x1, y1, r1, x2, y2, r2가 주어진다. x1, ..
문제 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7이다. 10000보다 작거나 같은 모든 짝수 n에 대한 골드바흐 파티션은 존재한다. 2보다 큰 짝수..
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..
문제 크기가 N인 수열 A = A1, A2,..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,0..