develop [알고리즘] 슬라이딩 윈도우 알고리즘 슬라이딩 윈도우(Sliding Window) 알고리즘은 배열이나 리스트의 요소의 일정 범위의 값을 비교할때 사용하면 유용한 알고리즘이다. 예를들어 정수로 이루어진 배열 [2, 4, 7, 10, 8, 4, 5, 6, 7, 1] 에서
develop [Python] 연결 리스트 깊은 복사(deep copy) 연결 리스트(Linked List)의 얕은 복사(shallow copy)와 깊은 복사(deep copy)에 대해 알아보자. 우선 연결 리스트를 정의한다. # 노드 정의 class Node: def __init__(self, x, next_
develop 문제를 재귀적으로 생각하고 해결하는 법 시작하기 전에 간혹 누군가는 재귀에 대해 배울 때 재귀 함수가 실행되는 모든 시점을 하나하나 분석하려는 경우가 있다. 이렇게 되면 재귀 학습하기 어려워지므로 재귀 문제의 해결을 위해서는 특정 상황을 가정하는 단계가
Dictionary [파이썬] 따옴표 없이 딕셔너리 생성 파이썬으로 딕셔너리 데이터를 생성할 때 일반적으로 키 속성은 따옴표로 감싸서 지정해줘야 합니다. dict(a: 1, b: 2, c: 3) # SyntaxError: invalid syntax dict('a': 1, 'b': 2, 'c': 3) # Success
develop [알고리즘] 퀵 정렬 알고리즘 ( QuickSort Algorithm ) 퀵 정렬 알고리즘은 정렬 대상을 분할하여 해결하는 알고리즘입니다. 하나의 기준값(pivot)을 정해서 정해진 기준값을 기준으로 분류하는데 아래 처럼 여러가지 방법이 있습니다. 항상 첫번째 요소를 기준값으로 선택한다.항상 마지막 요소를
develop Maximum Subarray Problem Maximum Subarray Problem 은 주어진 1 차원 배열 A [1 … n]의 숫자 내에서 가장 큰 합을 갖는 연속 서브 배열을 찾는 문제입니다. Maximum Subarray ( In Orange ) 위 예시에서의 연속된 배열의 합의 최대 값은 2, 4, 1, -1, 5 의 합인 11 입니다.
develop [Python] 파이썬 다중 정렬 아래의 데이터를 grade, score 순으로 정렬하려고 한다. scores = [ {'no': 1, 'grade': 1, 'score': 30}, {'no': 2, 'grade': 1, 'score': 42}, {'no': 3, 'grade': 2, 'score': 75}, {'no': 4, 'grade': 3,
Python [Python] 리스트 한 요소당 한줄로 출력하는 방법 파이썬에서 중첩된 리스트를 print 함수로 출력하는 경우 한줄에 모든 요소들이 표시됩니다. 이런 경우 요소가 많은 리스트의경우 한화면에 잘 보이지 않고, 가독성도 좋지 않습니다. 이런 이유로 한줄마다 하나의 요소를 보여주고 싶은
Python [Python] 최대값이 동일한 항목들을 순차적으로 나열하는 방법 최대값이 동일한 항목들을 순차적으로 나열하는 방법을 알아보겠습니다. 예를들어 아래와 같이 점수를 기록한 리스트가 있을때, 최고점수를 뽑되 동률이 있다면 모두 표시해주기위한 간략한 코드입니다 결과값(result)은 점수 리스트의 index 값 입니다.
Python [Python] Cycle - 리스트를 무한히 반복하는 방법. 파이썬으로 리스트를 무한히 순환하고싶을때 ( 일정 패턴을 반복해서 처리하고 싶을때 ) 유용한 cycle 함수를 알아보겠습니다. from itertools import cycle if __name__ == '__main__': fruits = ['apple', 'orange', 'mango', ] dic = {'name': 'pey', 'phone':
Python [Python] 파이썬의 특이한 연산자 안녕하세요. 파이썬은 다른 언어들에 비해 특별한 연산 방식이나 코드가 많은것 같습니다. 그런 코드들을 보다보면 floor division ( // ) 연산자가 등장하는 경우가 종종 있는데요. 처음에 이 연산자를 보고는 이게 뭐지? 했습니다만 찾아보니&
Python [Python] comprehension 안녕하세요. 파이썬의 comprehension 에 대해 알아보겠습니다. 제일 많이 사용되는 리스트를 기준으로 진행하겠습니다. ( Set, Dictdictionary 에서도 유사한 방식으로 사용 가능합니다. ) 리스트 생성 및 추가 – for, append for 문과 append
algorithm [Python] 소수 구하기 숫자 N이 주어졌을때 1부터 N까지의 소수를 모두 구하는 함수를 작성해보겠습니다. 단순하게 생각해보기 단순하게 모든 숫자를 순회하며 1을 제외한 수로 나눠지는지 ( 소수는 1와 자신을 제외한 수로 나누어지지 않는 수이므로) 확인하는 방법.
algorithm [Python] 두 자연수의 최대 공약수, 최소 공배수 구하기 두 자연수 A, B 가 주어졌을때 두 수의 최대 공약수와 최대 공배수를 구하는 방법을 알아보겠습니다. 공약수로 나누기 이 방법은 두 수가 더 이상 나누어지지 않을때까지(서로소가 될때까지) 공약수로 나누고 해당
import [Python] import 파이썬 모듈을 임포트하는 방법에 대해 알아보겠습니다. 디렉토리 구조 최상위 디렉토리에 index.py 파일이 존재하고 동일한 경로와 하위 경로에 각각 import 해줄 모듈을 정의한 파일을 작성하였습니다.’ ➜ tree ├── index.py