전체 글10 [인터뷰] 자주 사용되는 코딩 패턴 안녕하세요, 인터뷰에서 자주 나오거나 사용되는 20가지 코딩 패턴에 대해 자세히 설명하겠습니다. 1. Two Pointers - 투 포인터 투 포인터 알고리즘(기법)은 말 그대로 두 개의 포인터를 이용해 문제를 해결하는 알고리즘을 뜻합니다. 보통 특정 조건을 만족하는 배열 내의 쌍이나 배열을 찾아야 할 때 또는 정렬된 배열에서 특정 요소를 찾을 때 사용됩니다. DSA: Array, String, LinkedList 문제를 해결하는 예시 1. 정렬된 배열이나 정렬되지 않은 배열에서 목표 합계를 이루는 숫자 쌍을 찾기 입력: [3,5,2,8,11], 목표 합계 = 10 출력: [2, 8] 자바 코드 import java.util.Arrays; public class TwoPointerSum { public .. 2024. 4. 16. 88. Merge Sorted Array 다음과 같은 문제는 두 개의 졍렬된 배열을 하나의 정렬된 배열로 합치는 작업을 수행하는 것입니다. 문제를 풀기 위한 접근 방법은 다음과 같습니다. 1. 두 배열의 끝부터 시작합니다. 즉, 배열의 가장 큰 값을 가리키는 포인터를 각각 두 배열에 대해 설정합니다. 2. 한 배열에서 다른 배열로 원소를 복사하면서 합칩니다. 큰 값을 가진 원소를 결과 배열의 끝에 넣어주면서 포인터를 이동합니다. 3. 만약 두 배열 중 하나의 배열을 모두 처리하면, 남은 원소는 이미 결과 배열의 올바른 위치에 있으므로 추가 작업이 필요하지 않습니다. 이 솔류션의 시간복잡도는 O(m+n) 병합을 위해 상수 공간을 사용합니다. O(1) Java로 푸는 방법: class Solution { public void merge(int[] .. 2023. 9. 15. 2218. Maximum Value of K Coins From Piles | Daily Challange - 2023-04-15 2218. Maximum Value of K Coins From Piles - Hard There are n piles of coins on a table. Each pile consists of a positive number of coins of assorted denominations. In one move, you can choose any coin on top of any pile, remove it, and add it to your wallet. Given a list piles, where piles[i] is a list of integers denoting the composition of the ith pile from top to bottom, and a positive intege.. 2023. 4. 15. Insertion Algorith - 삽입 정렬 삽입 정렬은 카드 놀이를 할 때 손에 쥔 카드를 정렬하는 것과 방법이 같습니다. 왼손ㄴ은 비었고 카드가 탁자 위에 뒤집힌 채 쌓여 있다고 하자. 이제 탁자에서 카드를 한 장씩 가져와 왼손의 적절한 위치에 삽입합니다. 카드를 삽입할 적절한 위치를 찾기 위해 왼손에 이미 든 카드와 새 카드를 오른쪽ㅇ서 왼쪽에서 왼쪽 방향으로 차례로 비교하면 됩니다. 왼손에 있는 카드는 항상 정렬되어 있고, 이는 처음에 탁자에서 맨 위에 쌓였던 카드입니다. 입력: n개 수들의 수열(a1,a2,a3,a4...,an) 출력: a1 키 값 3와 세번째 두 번째 자료인 5를 비교한다. 키 값보다 크므로 5를 2가 있던 자리에 기억시킨다. -> 키 값 3와 첫번째 자료인 1을 비교한다. 키 값보다 작으므로 두 번째 자리에 기억시킨다... 2023. 3. 17. 이전 1 2 3 다음