Time Complexity(시간복잡도)를 줄이기 위해 이미 계산했던 부분에 대하여 Cache(저장)하여 메모이제이션(memoization)하는 기법이다.(memoization)은 컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로
순서가 부여된 임의의 집합을 다른 순서로 뒤섞는 연산이다.예를들어 1,2,3 수열이 있을경우 이에 대한 순열은 다음과 같이 6가지가 있다.
1.in-Order에 대한 알고리즘은 다음과 같다.1.LeftNode Search ->CurrentNode Processing ->RightNode Search 2.Post-Order에 대한 알고리즘은 다음과 같다.1.LeftNode Search ->RightNode
드론의 이동과, 회전에 대해서 완전탐색하면 된다.편의상 하나의 드론은 두개의 블록으로 이루어져 있다고 할때 두개의 블록은 항상 함께 움직여야한다.(1)드론이 이동: 상,하,좌,우로 움직일 수 있는 공간 사이에서 움직이면 된다.(2)드론의 회전: 드론의 회전의 경우에는
카카오[보석 쇼핑]문제풀이 입니다.
https://programmers.co.kr/learn/courses/30/lessons/67260이 문제는 주어지는 인풋을 바탕으로 트리를 만든다.이를 바탕으로 '0'지점부터 탐색을 한다.하지만 선결조건이 있는 트리가 있는데 이에 관해서는 선결조건부터 처리
다음과 같이 요청시간의 시작지점과 끝지점이 주어졌을때 1초안에 처리가능한것 중 최대갯수를 찾으면 된다.시간별로 비교 및 연산 하기 쉽게 하기위해 변환한다. 예를들어 01:01:01 =>3661검사할때 요청시간들의 시작지점 또는 끝점을 기준으로 탐색하면 효율적으로 접근
[1.문제이해]
문제: https://programmers.co.kr/learn/courses/30/lessons/64063 [1.이해] 접근할려는 호텔방이 이미배정되어있으면 그것보다 크고 배정되지 않은 방을 선택하면된다. [2.접근] 먼저 가능한 호텔방의 갯수는 최대 20만개이고 이
https://programmers.co.kr/learn/courses/30/lessons/72414 [1.문제이해] Play시간에 대한 구간정보가 주어지고, 시청자들이 가장 많이 보는 구간정보들이 주어질때, 이때 광고의 누적재생수가 최대인 지점의 시작지점을 반환하면된
https://www.acmicpc.net/problem/3015 [1.문제이해] 이문제의 경우 최대 N=500,000 이고 시간제한은 1초이내 이므로 nlogn이하의 시간복잡도를 보여야한다.이분탐색으로 접근하기도 힘들다. 한번의 풀스캐닝(O(N)) 작업에 있어서 현재
https://www.acmicpc.net/problem/19235개인적으로 이문제가 지금까지 풀었던 모든 삼성문제중 가장 빡센 문제 였던것 같다.이문제는 각종스킬 및 어려운 알고리즘을 요구하지 않는다. 단 기능구현에 있어 가장 중요한 각절차들이 실수하기가 쉬
https://leetcode.com/problems/24-game/숫자 4개가 주어지고 (,+,/,-)연산자와 (,)를 모두 써서 숫자 24를 만들 수 있는지가 문제였다.일단 숫자는 정렬조건은 주어지지 않고 자유롭게 배치할 수 있다.일단 숫자 4개에 관해서
[문제이해] 다음과 같이 높이가 주어졌을때 가장큰 직사각형의 넓이를 구하면 되는문제다. 이문제에 대해서 브루트포스하게 풀게 되면 O(N^2)이 발생하게 된다. 조건이 1 <= heights.length <= 10^5 이므로 시간초과가 발생하니 조금더 효율적으로 처리
Source: 시작점Sink: 도착점Capacity: 용량 (간선에서 소화 가능한 최대 양 or 값)Flow: 유량 (간선에서 용량을 점유하고 있는, 사용하고있는 양 or 값)c(a, b): 정점 a 에서 b로, 소화 가능한(남은) 용량 값f(a, b): 정점 a 에서
다음과 같은 무가중 그래프 G(V,E)가 주어졌을때 서로 매칭 된 Verex인 (1,2) 에 대해선 Matching이라고 하고 매칭되지 못한 Vertex(3,4,5)에 대해서 Exposed됐다고 합니다. 이때 Matching은 한개만 존재 할 수 있다.Alternati
비선점 알고리즘중 하나인 SJF는 최소 평균 대기 시간을 갖게하는 CPU스케줄링 알고리즘이다.