본문 바로가기

분류 전체보기

(84)
[코테] 알고리즘 공부 Cheat sheet - 0 (자료구조) Cheat sheet 1 부터 쓰기 시작했는데, 기본 자료 구조 정리를 안해서 이번 편은 0 이라고 썼습니다.. 파이썬 자료 구조 간단 정리 ! 리스트 파이썬에서 가장 많이 쓰는 동적 배열 자료구조 순서가 있다. 자유로운 추가 append 삭제 remove 검색in my_list, my_list.index(val) 다양한 자료형 및 중복 허용 in 의 용도를 이해하는게 중요하다. 리스트 같은 반복 가능한 객체를 순회하는 용도 (for .. in ..)로도 쓰이지만, 이러한 시퀀스 객체 내 존재하는 요소인지 확인하는 데에도 쓰인다. 존재 여부를 확인할 때에는 .index() 가 아닌 in 연산자를 쓰면 된다 # 생성 my_list = [1, 2, 3, 4, 5] # 추가 my_list.append(6) ..
[코테] 알고리즘 공부 Cheat sheet - III (DP) Dynamic Programming 다이나믹 프로그래밍 (이하 DP) 은 시간이 지남에 따라 일련의 결정 단계로 나누어 의사결정을 단순화하는 방법이다. (정의가 확 안 와닿는다. 하지만 익히 알고는 있었지 않은가?) but, 아래 두 가지는 DP 문제를 풀기 위한 필수 캐싱 도구로 알아야 한다. - 메모이제이션 : 탑다운 (top down) 방식에서 사용 재귀 사용 필요한 부분 문제들에 대해 구해 놓은 값들을 저장하고 다시 사용. (lazy) - 타뷸레이션 (tabulation): 바텀업 (bottm up) 방식에서 사용 반복문 사용 부분 문제들에 대한 답을 미리 다 구한다. (eager) 바텀업의 경우 부분 문제의 답을 미리 알아야 하는 문제가 있을 수 있어서 탑다운 방식으로 구현하는게 좀 더 쉬울 수..
[코테] 알고리즘 공부 Cheat sheet - II (search) 이진 탐색 이진 탐색하여 찾는 범위를 매 회 절반 씩 날릴 수 있다 여러번 탐색해야 하는경우 선형탐색보다 유리 다만, 정렬된 상태이어야 함 $ O(N log N) $ bisect 이진탐색으로 이미 구현된 bisect 를 사용한 예 from bisect import bisect_left, bisect_right v = [0, 1, 2, 2, 3, 4, 5, 6] def find_bisect_num(arr, num): return bisect_right(arr, num) - bisect_left(arr, num) # bisect_right 해당 값 초과 index # bisect_left 해당 값이 최초 나오는 index # bisect_right - bisect_left = 해당 값 개수 print(fin..
[코테] 사용언어가 파이썬이라서 알아야 하는 것 코테 언어로 파이썬이 간편하다고 생각해서 사용을 많이 하는데 사소한 실수 때문에 의외로 시간을 까먹는 경우가 많습니다. 코딩 문제를 통과하려면 알아둬야 할 몇가지가 있는데 대표적인 것을 정리해보려 합니다. 시간초과 input 이 스레드세이프 해서 그런지 엄청 느리다고 합니다. 시간초과 주범이므로 아래와 같이 치환 가능합니다. import sys input = sys.stdin.readline # 아래에서 이전처럼 input 사용 가능 최대 재귀 초과 maximum 을 늘려주는 수 밖에 없음 import sys sys.setrecursionlimit(10**6) 백준 온라인 저지 외에는 사용할 일이 아직 많지는 않았지만 알아둬야 할 것 같아서 언급하였습니다. 기본들 그 외 파이썬 문법 자체에 익숙치 않아서..
수식 입력기 바로가기 링크 https://editor.codecogs.com/ Equation Editor for online mathematics - create, integrate and download Download svg gif png pdf emf 5 pt 9 pt 10 pt 12 pt 18 pt 20 pt 50 80 100 110 120 150 200 300 Transparent White Black Red Green Blue Inline Block WordPress phpBB Tiny Wiki url url encoded xml pre doxygen html latex Equation as a formatted string for inclusi editor.codecogs.com 자주 쓰지는 않는데 어..
카운트 세기 드럼에게 가장 중요한 건 keeping time. 그 이유는 드러머가 밴드에서의 리듬, 템포, 비트를 유지하는 것이 전체적인 음악적 흐름을 결정하기 때문이다. 이러한 기술은 누구나 쉽게 익힐 수 있는 것은 아닌듯 하다. 나는 합주때나 공연때는 메트로놈을 듣거나 하지 않기 때문에 느려지거나 하는 문제가 많고 욕도 많이 먹곤 했다. 특히 내가 '어디 있는지' 모르는 드러머는 실격 감이다. 이에 대한 솔루션은, 1. 메트로놈을 항상 듣는다. (연습이든 무대든) 드러머가 리듬을 연습하는 데 가장 효과적인 도구이며 이를 연습을 넘어 합주나 공연때까지 일정한 비트와 속도를 유지하고 정확하게 연주할 수 있는 도구로 사용할 수 있다. 하지만 합주나 스테이지에서는 제대로 모니터링 체계를 갖추지 않으면 힘들고, 클릭을 나..
[코테] 알고리즘 공부 Cheat sheet - I 그리디로 풀 수 있는 문제인가?수열 $A_{i} $ 는 $ A_{i-1}$ 의 배수이다. 와 같은 얘기가 있어야 한다. 혹은 정렬 후 최적의 해를 무조건 찾는 방법을 알 수 있는 경우 등 예를들어 100원, 400원, 500원으로 800원 최소조합 찾기 같은 건 안되는 것처럼.. (백준 11047 1931) python 에서 자주쓰이는 itertools 사용하기from itertools import permutations (r-길이 튜플들, 모든 가능한 순서, 반복되는 요소 없음) from itertools import combinations (r-길이 튜플들, 정렬된 순서, 반복되는 요소 없음) ex) permutations('ABCD',2) -> AB AC AD BA BC BD CA CB CD DA ..
[aws] networking #3 ENI elastic network interface. 가상의 네트워크 카드라고 생각하면 된다. ENI Attribute primary 프라이빗 IPv4, 하나 이상의 secondary IPv4 프라이빗 아이피당 하나의 Elastic IP (IPv4) 할당 가능 하나의 퍼블릭 IPv4 하나 이상의 security groups (하나의 EC2 에 여러 ENI 에 따른 해당 security group일 수 있다) MAC 주소 ENI를 독립적으로 만들고 EC2에 붙일 수 있다. (failover 를 위해) AZ 에 종속된다 예) EC2 a Eth0 - primary ENI 192.168.0.xx Eth1 - secondary ENI 192.168.0.yy EC2 b Eth0 - primary ENI Eth1 ..