[LeetCode/Kotlin]Easy - 14. Longest Common Prefix
·
LeetCode/Kotlin | Easy
Longest Common Prefix - LeetCode Can you solve this real interview question? Longest Common Prefix - Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "". Example 1: Input: strs = ["flower","flow" leetcode.com 문제 Write a function to find the longest common prefix string amongst an array of strings. If there..
[LeetCode/Kotlin]Easy - 118. Pascal's Triangle
·
LeetCode/Kotlin | Easy
Pascal's Triangle - LeetCode Can you solve this real interview question? Pascal's Triangle - Given an integer numRows, return the first numRows of Pascal's triangle. In Pascal's triangle, each number is the sum of the two numbers directly above it as shown: [https://upload.wikimedia.o leetcode.com 문제 Given an integer numRows, return the first numRows of Pascal's triangle. In Pascal's triangle, e..
[Android]DeepLink와 Scheme
·
Android/도구 및 라이브러리
2023.02.25 - [Android]Deeplink 안드로이드에서 딥링크 스킴은 인텐트(Intent)를 사용하여 특정 앱의 특정 화면으로 직접 이동할 수 있는 링크입니다. 이를 통해 사용자가 해당 앱을 설치하지 않았더라도 앱의 특정 화면으로 이동하여 더 나은 사용자 경험을 제공할 수 있습니다. 안드로이드 딥링크 스킴은 다음과 같은 형식으로 구성됩니다. scheme://host/path 여기서 scheme은 딥링크 스킴을 사용하는 앱의 이름이며, host는 해당 앱의 도메인 이름 또는 패키지 이름입니다. path는 앱 내에서 이동하고자 하는 특정 화면을 가리킵니다. 예를 들어, 만약 "myapp"이라는 이름을 가진 앱이 "myapp://main/home"이라는 딥링크 스킴을 가진다면, 이 링크를 클릭하..
[알고리즘]스케줄링 알고리즘 (FCFS, SJF, RR)
·
개발/알고리즘
스케줄링 알고리즘은 운영 체제에서 프로세스에게 CPU를 할당하는 방식을 결정하는 알고리즘입니다. 다양한 스케줄링 알고리즘이 존재하지만, 가장 기본적인 세 가지 알고리즘인 FCFS(First-Come, First-Served), SJF(Shortest Job First), RR(Round Robin) 알고리즘에 대해 알아보겠습니다. FCFS(First-Come, First-Served) FCFS 알고리즘은 가장 간단한 스케줄링 알고리즘으로, 프로세스가 도착한 순서대로 CPU를 할당하는 방식입니다. 즉, 선입선출(First-Come, First-Served) 방식으로 CPU를 할당합니다. 이 알고리즘은 대화식 작업에 적합하지 않으며, 프로세스의 실행 시간이 긴 경우에는 평균 대기 시간이 길어지는 단점이 있습..
[Android/Java/Kotlin]ExecutorService
·
Android/네트워킹
Android에서 ExecutorService는 쓰레드 풀을 생성하고 관리하는 데 사용됩니다. ExecutorService는 java.util.concurrent 패키지에 정의되어 있으며, Executor 인터페이스를 상속합니다. ExecutorService는 작업을 처리하는 쓰레드 풀을 생성하고, 작업 처리를 위한 작업 큐를 유지 관리합니다. 새로운 작업이 추가되면 작업 큐에 추가되고, 작업을 처리하기 위해 사용 가능한 쓰레드가 있으면 즉시 처리됩니다. ExecutorService를 사용하면 애플리케이션에서 여러 작업을 동시에 처리할 수 있습니다. 또한, 작업 처리를 위해 새로운 쓰레드를 생성하는 것보다 쓰레드 풀을 사용하여 성능이 향상될 수 있습니다. 아래는 ExecutorService를 사용하여 작..
[알고리즘/Kotlin]슬라이딩 윈도우(Sliding Window) 알고리즘
·
개발/알고리즘
슬라이딩 윈도우 알고리즘(Sliding Window Algorithm)이란? 연속적인 구간의 문제를 효과적으로 해결하기 위한 알고리즘 이 알고리즘은 일정한 크기의 윈도우를 이용하여 연속적인 구간 문제를 해결 슬라이딩 윈도우 알고리즘 구현 단계 시작점과 끝점을 초기화합니다. 윈도우의 크기를 설정합니다. 윈도우를 이동하면서 구간의 값을 계산합니다. 구간의 값을 이용하여 원하는 결과를 도출합니다. 끝점이 배열의 마지막 인덱스에 도달할 때까지 위 과정을 반복합니다. 슬라이딩 윈도우 알고리즘 사용 예 배열에서 최소값을 찾는 문제 문자열에서 최소 윈도우를 찾는 문제 스트림에서 슬라이딩 윈도우를 적용하여 데이터를 처리하는 문제 등에 사용 2023.02.26 - [프로그래머스/Kotlin]Level3 - 징검다리 건너..
[Packet/Java]패킷 직렬화
·
개발/네트워크 및 데이터 처리
패킷이란? 패킷(Packet)은 네트워크 통신에서 데이터를 전송하는 단위입니다. 네트워크 상에서 데이터를 전송할 때, 큰 데이터를 작은 조각으로 분할하여 전송하는데, 이 작은 조각을 패킷이라고 합니다. 일반적으로 패킷은 헤더(Header)와 페이로드(Payload)로 구성됩니다. 헤더에는 송신지와 수신지의 주소 정보, 패킷의 크기, 전송 제어 정보 등의 메타데이터가 포함되어 있습니다. 이러한 메타데이터는 패킷을 올바르게 라우팅하고 전송하는 데 필요한 정보를 제공합니다. 패킷은 데이터 전송의 신뢰성과 효율성을 높이기 위해 사용됩니다. 전체 데이터를 한 번에 전송하는 것보다 작은 패킷 단위로 분할하여 전송하면, 손상된 패킷을 다시 요청하거나, 여러 경로를 통해 전송될 수 있는 등의 이점을 가집니다. 또한, ..
[알고리즘/Java/Kotlin]BFS vs DFS
·
개발/알고리즘
BFS와 DFS는 그래프 탐색 알고리즘 중 대표적인 두 가지 방법입니다. 프로그래머스 문제를 풀다보면 해답으로 꼭 있는 것이 BFS 혹은 DFS입니다. 그런 문제를 풀 때마다 나에게 익숙한 DFS를 사용하여풀었는데, 정확한 개념 정리가 필요할 것 같아 정리해보았습니다. * 아래 코드 설명 - Node는 그래프의 노드를 나타내는 클래스 - 각 노드는 그래프 상에서 연결된 다른 노드들의 리스트를 가지고 있음 - start는 탐색을 시작할 노드를 나타내는 변수 - visited는 이미 방문한 노드들의 집합을 나타내는 변수 BFS (너비 우선 탐색) BFS(너비 우선 탐색)는 시작 정점으로부터 가까운 정점을 먼저 탐색하는 방법입니다. 즉, 현재 정점에서 인접한 정점을 큐에 추가하고, 큐에서 하나씩 뽑아 탐색을 ..
[개발 기본 개념]비트 연산자
·
개발/개념 및 기법
비트연산자란? 컴퓨터의 비트 단위로 데이터를 처리하는 연산자 비트연산자 예시 설명 & AND 0 & 0 == 0 0 & 1 == 0 1 & 1 == 1 두 비트의 값이 모두 1인 경우에만 1을 반환 | OR 0 | 0 == 0 0 | 1 == 1 1 | 1 == 1 두 비트 중 하나라도 1인 경우에는 1을 반환 ^ XOR 0 ^ 0 == 0 0 ^ 1 == 1 1 ^ 1 == 0 두 비트가 서로 다른 경우에 1을 반환 ~ NOT ~0 == 1 ~1 == 0 0이면 1을, 1이면 0을 반환 > b 비트를 오른쪽으로 지정된 수(b)만큼 이동 왼쪽에는 부호 비트가 추가되고, 오른쪽으로 벗어나는 비트는 버려짐 >>> UNSIGNED RIGHT SHIFT a >>> b 비트를 오른쪽으로 지정된 수만큼 이동 왼쪽에..
[LeetCode/Kotlin]Easy - 938. Range Sum of BST
·
LeetCode/Kotlin | Easy
[LeetCode/Kotlin]Easy - 938. Range Sum of BST Range Sum of BST - LeetCode Can you solve this real interview question? Range Sum of BST - Given the root node of a binary search tree and two integers low and high, return the sum of values of all nodes with a value in the inclusive range [low, high]. Example 1: [https://assets.l leetcode.com 문제 Given the root node of a binary search tree and two in..
[LeetCode/Kotlin]Easy - 70. Climbing Stairs
·
LeetCode/Kotlin | Easy
[LeetCode/Kotlin]Easy - 70. Climbing Stairs Climbing Stairs - LeetCode Can you solve this real interview question? Climbing Stairs - You are climbing a staircase. It takes n steps to reach the top. Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top? Example 1: Input: n = 2 Outpu leetcode.com 문제 You are climbing a staircase. It takes n steps to reach t..
[LeetCode/Kotlin]Easy - 2016. Maximum Difference Between Increasing Elements
·
LeetCode/Kotlin | Easy
[LeetCode/Kotlin]Easy - 2016. Maximum Difference Between Increasing Elements Maximum Difference Between Increasing Elements - LeetCode Can you solve this real interview question? Maximum Difference Between Increasing Elements - Given a 0-indexed integer array nums of size n, find the maximum difference between nums[i] and nums[j] (i.e., nums[j] - nums[i]), such that 0
[LeetCode/Kotlin]Easy - 404. Sum of Left Leaves
·
LeetCode/Kotlin | Easy
[LeetCode/Kotlin]Easy - 404. Sum of Left Leaves Sum of Left Leaves - LeetCode Can you solve this real interview question? Sum of Left Leaves - Given the root of a binary tree, return the sum of all left leaves. A leaf is a node with no children. A left leaf is a leaf that is the left child of another node. Example 1: [https://ass leetcode.com 문제 Given the root of a binary tree, return the sum of..
[Java/Kotlin]Iterator
·
프로그래밍 언어/Java 기초
Iterator 인터페이스는 컬렉션의 요소를 순회하고 선택적으로 요소를 제거할 수 있는 메소드를 정의하는 자바의 인터페이스입니다. 이 인터페이스는 자바 컬렉션 프레임워크의 일부로 제공되며, 다양한 자료 구조를 효율적으로 순회하고 조작하는 데 사용됩니다. Iterator 인터페이스는 hasNext(), next(), remove() 세 가지 메소드를 정의합니다. hasNext(): 이 메소드는 다음 요소가 있으면 true를 반환하고, 없으면 false를 반환합니다. next(): 이 메소드는 다음 요소를 반환합니다. remove(): 이 메소드는 마지막으로 반환된 요소를 제거합니다. next()를 호출한 후에만 호출 가능합니다. Iterator 인터페이스는 자바의 ArrayList, LinkedList, ..
[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..
뿌꾸 빵
'분류 전체보기' 카테고리의 글 목록 (7 Page)