Sorting(정렬) 알고리즘의 주요 특성
Sorting 알고리즘 개발시에는 무엇을 주로 고려해야 하는가? Time Efficiency: 얼마나 빠른 시간 내에 정렬을 수행할 수 있는가? Stablility: 가령 와 같은 리스트가 있다고 하면, 정렬한 뒤에도 이 두 값의 위치가 변하지 ...
Sorting 알고리즘 개발시에는 무엇을 주로 고려해야 하는가? Time Efficiency: 얼마나 빠른 시간 내에 정렬을 수행할 수 있는가? Stablility: 가령 와 같은 리스트가 있다고 하면, 정렬한 뒤에도 이 두 값의 위치가 변하지 ...
간단하게 merge sort를 구현해 봤습니다. quick sort는 pivot을 기준으로 작으면 다 왼쪽, 크면 다 오른쪽으로 두면서 정렳하는 방식이라면, merge sort의 경우는 왼쪽 애들은 왼쪽대로 정렬하고, 오른쪽 애들은 오른쪽 애들대...
CountingSort는 현재 array 내에 존재하는 원소의 빈도를 활용하여 sorting하는 방식을 말합니다. '빈도'를 고려하는 것처럼, 원소들이 중복되어 있을 수록 효율적이죠. 보통의 알고리즘들은 모든 원소들간의 값을 비교하여 정렬하는 반...
intro 이번 주는 집에서 휴가를 보내고 있습니다. 어쩌다 이런 인간이 되어버렸는지는 잘 모르겠지만, 저는 휴가에도 제가 평소에 관심이 있던 공부를 합니다. 아주 좋은 습관이라고 생각하고 있기는 한데 또 어쩌다 이런 인간이 되어버렸는지, 약간 ...
Problem string 를 입력받고, 존재하는 파일 중 string size가 가장 긴 path 를 찾아서 리턴해주는 함수를 만든다. 를 프린트하면 다음과 같다. - picture와 documents의 경우, user의 하위폴더이며, phot...
Problem binary tree t가 symmetric한지를 검사하는 함수입니다. define binary tree value, left, right를 가지는 아주 간단한 객체. shallow copy를 조심하기 위해서, copy functi...
Problem palindrome이 무엇인지는 이미 다들 알고 계신것 같아용, 앞뒤로 읽어도 똑같은 스트링을 말합니당(1577 1577말고 1577 7751 이용) 다만, kpalindrome의 경우는 해당 문자열에서 k개 이하의 문자를 삭제했을...
Problem Given , find the longest IncreasingSubsequence. - 정확히는 길이만 계산해주면 되는 함수 example consecutive가 아니고, integer position 상에서 앞과 뒤의 관계만 지...
Problem n 4 의 직사각형을 2 1 혹은 1 2의 직사각형으로 채워야 할때, 채울 수 있는 방법의 수는 총 몇 가지 인지를 리턴하는 함수입니다. - if n==1: 1 4 인 직사각형은 2 1을 가로로 두 번 채우는 것 밖에 방법이 없음 ...
Problem https://codefights.com/interview-practice/task/mkobsYSSQo3JpvYNN/ 0, 1로 구성된 2 dimensional binary matrix(직사각형) 내부에 있는 가장 큰 정사각형의 넓...
Problem 순서대로 배치된 집을 색칠하려고 한다. - 방법은 총 3가지 - 집마다 색칠할 때의 가격은 다르며, i 번째 집을 j 색으로 칠할 때의 가격은 - 연속된 집은 같은 색으로 칠하면 안된다. 모든 집을 칠할 수 있는 가장 적은 가격을 ...
Problem https://codefights.com/interview-practice/task/Sx8ndFtwEyCRRqF7q/ string s가 regular expression 으로 정의된 pattern p를 따르는지를 체크하는 함수를 만...
Problem 는 2 dimensional array로, 가 1이면, node 가 연결되어 있음을 의미한다(o/w 0) connections를 이용하여 네트워크를 그릴 수 있으며, 입력받은 connections의 경우 모든 노드가 연결되어 있다....
intro dynamic programming은 음...일단은 'recursion'이라고 생각해도 상관없다. 이전에 계산한 값을 가지고, 이후의 값을 계산할 수 있는 것을 의미하는데, 쉽게는 fibonacci가 이 경우에 포함된다. - knaps...
Problem 간단한 코드로 쓰자면 다음과같다. 다만, 현재는 계산속도가 느려서 개선하고 있는 상황. - nums: int list - ex: [1,2,3,4,5,6] - queries: list of (position pair) - ex: [[...
Problem tree 가 주어졌을 때, leaf로부터 root까지의 합이 s인 path가 존재하는지를 찾는 함수를 만듭니다. example Define Tree(binary) linked list 말고도 Tree 형태의 자료구조도 있습니다. 여...