[LeetCode/Kotlin]Easy - 121. Best Time to Buy and Sell Stock
·
LeetCode/Kotlin | Easy
Best Time to Buy and Sell Stock - LeetCode Can you solve this real interview question? Best Time to Buy and Sell Stock - You are given an array prices where prices[i] is the price of a given stock on the ith day. You want to maximize your profit by choosing a single day to buy one stock and choosin leetcode.com 문제 You are given an array prices where prices[i] is the price of a given stock on the..
[Android/Async]RxJava에서 Throttle과 Debounce
·
Android/도구 및 라이브러리
RxJava에서 Throttle과 Debounce는 각각 데이터 스트림에서 지정된 시간 동안의 버퍼링된 이벤트를 처리하는 방법입니다. 이 두 연산자는 모두 데이터 스트림에서 지정된 간격 이상의 이벤트를 발생시키지 않도록 제어하며, 너무 많은 이벤트가 처리되어 성능 문제가 발생하는 것을 방지할 수 있습니다. Throttle은 이벤트를 지정된 시간 동안 버퍼링한 다음, 시간이 지난 후에 가장 최근의 이벤트를 처리합니다. 예를 들어, 1초 동안 Throttle을 적용하면 1초 동안 이벤트를 버퍼링하고, 1초 이후에 발생한 가장 최근의 이벤트를 처리합니다. 이를 통해 일정 시간 동안 반복적으로 발생하는 이벤트를 제한하고, 지정된 시간 동안 가장 최근의 이벤트만 처리할 수 있습니다. Debounce는 이벤트를 버..
[알고리즘/Kotlin]플로이드-와샬 (Floyd-Warshall)
·
개발/알고리즘
플로이드 와샬(Floyd-Warshall) 알고리즘은 모든 정점에서 모든 다른 정점까지의 최단 경로를 구하는 알고리즘 입니다. 이 알고리즘은 다익스트라(Dijkstra) 알고리즘과는 달리 음의 가중치를 가진 그래프에서도 사용할 수 있습니다. 이 알고리즘은 동적 계획법을 사용하여 구현되며, 시간 복잡도는 O(n^3)입니다. 알고리즘의 동작 방식은 아래와 같습니다. 그래프의 인접 행렬을 만듭니다. 3중 반복문을 이용하여 모든점을 순회합니다. i에서 j로 가는 최단 거리를 d[i][j]라고 할 때, d[i][j] = min(d[i][j], d[i][k] + d[k][j])의 점화식을 이용하여 d[i][j]를 갱신합니다. 이 때, k는 1부터 n까지의 정점입니다. 이제 Kotlin으로 플로이드 와샬 알고리즘을 ..
[Android/Training] 사진을 외부앱으로 전송하기
·
Android/튜토리얼 및 가이드
1. AndroidManifest.xml 파일에 FileProvider를 등록합니다. ... ... 2. res/xml/ 폴더에 provider_paths.xml 파일을 생성하고 파일 제공자가 제공할 경로를 지정합니다. 3. 소스코드 이 코드는 안드로이드 앱에서 이미지를 캡처한 후, 캐시에 저장하고 해당 이미지 파일을 다른 앱으로 공유하는 기능을 구현하고 있습니다. private void saveToCache(String title, Bitmap bitmap) { File storage = getCacheDir(); try{ File file = new File(storage, title+".jpg"); FileOutputStream fos = new FileOutputStream(file); bitma..
[Android/Training] View를 사진으로 저장하기
·
Android/튜토리얼 및 가이드
1. View를 캡처합니다. 현재 시간을 기준으로 사진 제목을 생성합니다. 캡처할 뷰와 사진 제목을 인자로 captureReceipt 함수를 호출합니다. captureReceipt 함수에서 뷰를 캡처하고, Bitmap 형태로 변환합니다. 안드로이드 버전에 따라 저장소의 경로가 다르므로, 안드로이드 버전에 따라 다른 함수를 호출하여 이미지를 저장합니다. private void makeTitle() { SimpleDateFormat sdf = new SimpleDateFormat( "yyyyMMddHHmmss"); Date time = new Date(); String captureTitle = sdf.format(time); // 사진제목 captureView({layout}, captureTitle); ..
뿌꾸 빵
개발새발 안드로그