일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- dfs #bfs #트리구조 #이진트리 #leetcode #파이썬 #python
- gcd #최대공약수 #백준 #2981 #검문
- final #java #자바 #안드로이드
- 다익스트라 #알고리즘 #bfs #그리디 #다이나믹프로그래밍 #leetcode #python
- dfs #python #leetcode
- 다익스트라 #dijkstra #leetcode #파이썬 #python #algorithm #787
- dfs #leetcode #python #graph #그래프
- 백준 #파이썬 #bfs #백트래킹 #1697 #숨바꼭질
- 파이썬 #zip
- dfs #bfs #이진트리 #파이썬 #리트코드
- AsyncTask #doinbackground #스레드 #thread #android #안드로이드
- handler #looper #thread #runnable #핸들러 #루퍼 #스레드 #러너블
- python #백준 #2580 #스도쿠 #dfs #백트래킹
- 해시테이블 #heapq #파이썬 #리트코드 #알고리즘
- dfs #python #leetcode #combination
- dfs #leetcode #python
- python #백준 #9375 #패션왕 #신해빈
- dfs #bfs #leetcode #python
- dfs #bfs #트리구조 #이진트리 #leetcode #python #파이썬
- dfs #이진트리 #트리구조 #직렬화 #역직렬화 #파이썬 #리트코드 #leetcode #python
- context #android #getApplicationContext #activity #생명주기 #lifecycle
- dfs #그래프 #graph #python #leetcode #course #schedule
- Python #leetcode #dfs #그래프 #백트래킹
- 리트코드 #팰린드롬 #파이썬
- leetcode #subsets #dfs #itertools #python
- 2004 #조합 0의 개수 #백준
- exoplayer #mediaplayer #엑소플레이어 #안드로이드 #android
- 아스테리스크 #Asterisk #파이썬
- 코틀린 #Do it #깡샘 #안드로이드
- leetcode #python #dfs #재귀
- Today
- Total
목록전체 글 (97)
멋진 개발자가 되고 싶다
문제 크기가 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..
해시 테이블 또는 해시 맵은 키를 값에 매핑할 수 있는 구조인, 연관 배열 추상 자료형(ADT)을 구현하는 자료구조다. 해시(Hash) 해시 함수란 임의 크기 데이터를 고정 크기 값으로 매핑하는 데 사용할 수 있는 함수를 말한다. ABC -> A1 1234BC -> CB AF32B -> D5 이처럼 3글자, 5글자, 6글자이지만 해시 함수를 통과함으로써 2바이트의 고정 크기 값으로 매핑된다. 이처럼 해시 테이블을 인덱싱 하기 위해 해시 함수를 사용하는 것을 해싱(Hashing)이라 한다. 해싱은 정보를 빠르게 저장하고 검색하기 위해 사용하는 기법 중 하나이고 심볼 테이블 등의 자료구조를 구현하기에도 적합하다. 이외에도 체크섬(Checksum), 손실 압축, 무작위화 함수(Randomization Func..
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): # ..
네트워크는 Network Interface, Internet, Transport, Application 4개의 계층으로 나뉜다. Transmission Control Protocol의 약자인 TCP는 UDP와 함께 Transport 계층의 대표적인 프로토콜이다. TCP는 웹이나 이메일같이 데이터가 정확하게 전달되어야 하는 통신에 사용된다. 통신을 맺고 끊는 과정에서 Client와 Server 간에 확인 절차를 거치는데 이러한 특징으로 연결지향(Connection Oriented) 프로토콜이라고 한다. UDP는 VoIP나 동영상 스트리밍같이 전송 속도가 빨라야 하는 통신에서 사용한다. TCP와는 달리 연결을 맺지 않고 한 쪽에서 일방적으로 데이터를 보낸다. 따라서 이러한 특징을 비연결지향(Connectio..
1. 파이썬 파일 없이 콘솔 만으로 http 구축하기 (1) "cd 원하는 위치" (2) "python -m http.server 80" : 80번 포트를 열겠다! 내 컴퓨터 상에서 브라우저로 접속할 시 http://localhost/ 혹은 http://127.0.0.1/ 이런 식으로 입력하면 된다. 같은 wifi를 공유한다던지 같은 ip를 사용하는데 다른 기기에서 접속하고 싶으면 콘솔 창을 띄우고 "ipconfig"를 입력. 거기에서 ipv4 주소를 확인. http://ip주소/ 이런 식으로 접근하면 된다. 2. 파이썬을 이용하여 http 구축하기 1 2 3 4 5 6 7 import http.server httpd = http.server.HTTPServer(('0.0.0.0', 8080), http..
다음 연산을 제공하는 원형 데크를 디자인하라. MyCircularDeque(k): 생성자, 데크의 크기를 k로 설정합니다. insertFront(): 데크 앞에 항목을 추가합니다. 작업이 성공하면 true를 반환합니다. insertLast() : Deque 후방에 항목을 추가합니다. 작업이 성공하면 true를 반환합니다. deleteFront() : Deque 전면에서 항목을 삭제합니다. 작업이 성공하면 true를 반환합니다. deleteLast() : Deque 후면에서 항목을 삭제합니다. 작업이 성공하면 true를 반환합니다. getFront(): Deque에서 프런트 아이템을 가져옵니다. 데크가 비어 있으면 -1을 반환합니다. getRear(): Deque에서 마지막 항목을 가져옵니다. 데크가 비어..
이번 포스팅은 build.gradle 파일에 있는 compileSdkVersion과 targetSdkVersion이 무엇인지 알아보겠습니다. 우리는 보통 새로운 Android SDK 버전이 출시되면 이 두 API 레벨 값을 모두 업데이트합니다. 하지만 우리는 왜 이렇게 설정하는 걸까요? 그리고 보통 같은 값으로 설정하는데 왜 두 개가 있는 걸까요? compileSdkVersion과 targetSdkVersion은 모두 Android에서 이전 버전과의 호환성을 처리하는 데 매우 중요하므로, 새로운 Android SDK 버전이 나타날 때 수행할 작업과 연결됩니다. 하지만 그것들이 정확히 어떻게 작동할까요? compileSdkVersion Gradle에서 어떤 Android SDK 버전을 사용하여 앱을 컴파일..
문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 해설: 처음에는 무식하게 1과 자기 자신을 제외한 수로 일일이 나눠서 소수를 구했지만 "시간 초과" 그래서 인터넷을 좀 뒤져 봤더니 "에라토스테네스의 체"라는 방법을 찾았다! (이름이 일단 좀 간지난다.. 아는 척하면 좀 있어 보일 수도?) https://namu.wiki/w/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98%20%EC%B2..