분류 전체보기
-
디자인 패턴 (python)CS 지식/Common 2021. 3. 21. 22:43
참조: velog.io/@jahoy/%EC%8B%A4%EC%9A%A9%EC%A0%81%EC%9D%B8-Python-%EB%94%94%EC%9E%90%EC%9D%B8-%ED%8C%A8%ED%84%B4-%EC%A0%95%EB%A6%AC 실용적인 Python 디자인 패턴 정리 Mastering Python Design Patterns을 읽고 정리한 글입니다. velog.io www.fun-coding.org/PL&OOP2-2.html 파이썬과 객체지향 프로그래밍: 디자인 패턴 - 잔재미코딩 간단히 개념만! 어떤 객체는 하나만 만들면 되는 객체가 있음 - 예: 데이터베이스를 연결하고, 데이터베이스를 제어하는 인터페이스 객체 보통 프로그램은 여러 파일로 구현합니다. 각 파일에서 www.fun-coding.org ..
-
bisect - binary search파이썬 Study/라이브러리 2021. 3. 19. 23:08
참조 : programmers.co.kr/learn/courses/4008/lessons/13173 programming119.tistory.com/196 [Python] bisect 사용법👀 / 이분탐색 / 코딩테스트 bisect 는 이진 탐색을 쉽게 구현하게끔 해주는 함수입니다. 이진 탐색은 직접 코드로도 구현할 수 있지만, bisect 함수를 이용하여 구현 시간을 줄이고 편하게 사용할 수 있습니다. 예제 [0, 1, 2, 3, 4 programming119.tistory.com 파이썬을 파이썬답게 - 이진 탐색하기 - binary search 본 강의는 파이썬 문법을 이미 알고 있는 분들을 대상으로 만들어졌습니다. ##### 이런 분들께 추천합니다 * 파이썬 문법을 알고 계시는 분 * 알고리즘 문제..
-
Dynamic Programming( 동적계획법 )알고리즘/Common 2021. 3. 19. 16:00
■ 동적계획법, (aka. DP) - 입력 크기가 작은 부분 문제들을 해결한 후, 해당 문제의 해를 활용해서 큰 부분 문제를 해결 ( bottom to up-towards solution ) - 이 과정에서 Memoization을 이용, 계산 결과가 저장되는 형식을 채택해 전체 실행 속도를 높임 - 최종 해를 구하는 과정에서 greedy 방식이 사용되는 경우도 많음 ■ 예시 1) Fibonacci 예시 1 def fibo_dp(num): cache = [ 0 for index in range(num + 1) ] cache[0] = 0 cache[1] = 1 for index in range(2, num + 1): cache[index] = cache[index - 1] + cache[index - 2] ..
-
프로그래머스 - 직사각형 좌표 구하기코테문제풀기 2021. 3. 19. 00:13
문제 2017년 카카오 코테 문제(?) 직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 v가 매개변수로 주어질 때, 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 return 하도록 solution 함수를 완성해주세요. 단, 직사각형의 각 변은 x축, y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다. 제한사항 ▶ v는 세 점의 좌표가 들어있는 2차원 배열입니다. ▶ v의 각 원소는 점의 좌표를 나타내며, 좌표는 [x축 좌표, y축 좌표] 순으로 주어집니다. ▶ 좌표값은 1 이상 10억 이하의 자연수입니다. ▶ 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 [x축 좌표, y..
-
Recursive ( 재귀 )알고리즘/Common 2021. 3. 18. 23:27
https://www.fun-coding.org/Chapter14-dp_divide.html 파이썬과 컴퓨터 사이언스(기본 알고리즘): 동적 계획법과 분할 정복 - 잔재미코딩 프로그래밍 연습 피보나치 수열: n 을 입력받아서 다음과 같이 계산됨 n 을 입력받았을 때 피보나치 수열로 결과값을 출력하세요 함수를 fibonacci 라고 하면, fibonacci(0):0 fibonacci(1):1 fibonacci(2):1 fibon www.fun-coding.org https://www.fun-coding.org/Chapter13-recursive.html 파이썬과 컴퓨터 사이언스(기본 알고리즘): 재귀 용법 (Recursive Call) - 잔재미코딩 프로그래밍 연습 숫자가 들어 있는 리스트가 주어졌을 때,..
-
프로그래머스 - 디스크 컨트롤코테문제풀기 2021. 3. 17. 01:09
문제 https://programmers.co.kr/learn/courses/30/lessons/42627?language=python3 소요시간 40~50분, 옛날에 한번 봤던 문제라 조금 수월 너무 이쁘게(?) 구현하려고 조금 삽질 해결이 먼저다 코드 import heapq def solution(jobs): q = [] for j in jobs: heapq.heappush(q, (j[0], j[1])) # 요청시간, 작업시간 now = 0 n = 0 # completed elpsTime = 0 # total time used for disk op while n now : now += 1 continue # next iteration tmp_heap = ..
-
깃 간단 명령어들코딩 툴/깃-깃허브 2021. 3. 17. 01:01
참조 : https://velog.io/@sonypark/git-reset-vs-git-revert-%EC%B0%A8%EC%9D%B4 git reset vs git revert 차이 git reset 명령어에는 아래 세 가지 옵션을 줄 수 있다.1.soft: commit된 파일들을 staging area로 돌려놓는다. — commit 하기 전 상태2.mixed(default): commit된 파일들을 working directory로 돌려놓는다. velog.io https://www.youtube.com/watch?v=GaKjTjwcKQo 1) git init( ) - 처음 top 경로에 생성, git과 git hub는 다르다. - git을 cloud로 관리하는 대표적인 서비스중 하나가 git hub -..
-
collections - counter파이썬 Study/라이브러리 2021. 3. 17. 00:57
참조 : https://excelsior-cjh.tistory.com/94 collections 모듈 - Counter collections.Counter() 컨테이너에 동일한 값의 자료가 몇개인지를 파악하는데 사용하는 객체이다. docs.python.org에서 Counter함수에 대해 자세히 알아볼 수 있다. A Counter is a dict subclass for counting h.. excelsior-cjh.tistory.com ■ Counter 1) 정의 : iterable을 더 잘게 쪼개진 객체로 돌려줌 (dictionary와 유사하게) collections.Counter( ) === { 문자열, list, dict, tuple } 2) 매써드 들 (a) update( ) - 정의 : set..
-
itertools파이썬 Study/라이브러리 2021. 3. 17. 00:37
참조: https://itholic.github.io/python-combination-permutation/ [python] itertools를 이용해 순열과 조합 구하기 itertools를 이용해 순열과 조합 구하기 itholic.github.io https://hamait.tistory.com/803 데이터 분석에 피가 되는 itertools 익히기 itertools 소개 Python 에서 제공하는 자신만의 반복자를 만드는 훌륭한 모듈입니다. 이 모듈은 APL, Haskell 및 SML의 구성 요소에서 영감을 받은 반복기 빌딩 블록을 구현하며 각각은 파이썬에 적합한 hamait.tistory.com ■ itertools 1) 정의 : - 순열 / 조합 등의 반복자를 함수로 구현하여 손쉽게 객체로 ..
-
map파이썬 Study/라이브러리 2021. 3. 17. 00:07
참조 : https://3months.tistory.com/338 Python 중고급 속성 정리 (1) map, filter, reduce Python 중고급 - map, filter, reduce 파이썬의 기초를 익힌 후, 파이썬의 중고급 문법을 선택적으로 배운다면 기본 문법으로도 구현할 수 있는 로직들을 더욱 쉽고, 간편하게 구현해볼 수 있습니다. 3months.tistory.com ■ map 1) 정의 : - Iterator를 돌려주며, object이므로 data에 접근하기 위해서는 list, tuple 등으로 변환 - iterator는 next[iterator는 next 함수 사용 가능] 등으로 다음 값을 추출하기 전에 메모리에 올려놓고 효율적으로 관리를 할 수 있음 map( , iterable ..