전체 글

전체 글

    [Python] 순열과 조합 데카르트 곱 permutations and combinations, cartesian product

    [Python] 순열과 조합 데카르트 곱 permutations and combinations, cartesian product

    1. 순열  몇 개를 골라 순서를 고려해 나열한 경우의 수를 의미합니다.   서로 다른 n개에서 r개를 꺼내서 순서를 정해 나열하는 가짓수입니다. 영어로는 permutation이라고 하며 nPr이라고 표시합니다.    파이썬에서 순열을 사용하기 위해서는 라이브러리 추가를 해주어야 합니다.  from itertools import permutations  알파벳 4개가 들어간 리스트 arr에서 2개를 순서를 고려하여 뽑는 경우   from itertools import permutationsarr = [ 'A', 'B', 'C', 'D' ]nPr = permutations(arr, 2)print(list(nPr))  결과)[('A', 'B'), ('A', 'C'), ('A', 'D'), ('B', 'A')..

    [Algorithm] monotone stack 알고리즘

    monotone stack이란 단조로운 스택이란 뜻입니다. 단조로운 스택이란 무슨 말이냐면 항상 오름차순 또는 내림차순이 유지되는 스택을 의미합니다. 스택의 원소들을 O(n)시간복잡도를 가지면서 중복을 허용하지 않고 오름차순 또는 내림차순 상태를 유지하게 합니다. stack의 top에 있는 원소들을 새롭게 들어오려는 원소와 비교하여, 경우에 따라 pop을 진행합니다. 1. 중복없는 오름차순 stack의 경우, 들어오려는 원소가 stack의 top보다 작거나 같은경우 오름차순을 만족할떄까지 pop을 반복한 후 원소를 삽입해주어 오름차순을 유지합니다. 2. 중복없는 내림차순 stack의 경우, 들어오려는 원소가 stack의 top보다 크거나 같은경우 내림차순을 만족할때까지 pop을 반복한 후 원소를 삽입해주..

    [Python] f-string을 이용한 문자열 포메팅

    문자열 포메팅이란 문자열 안에 어떤 값이나 변수를 삽입하는 방법을 말합니다. 파이썬은 여러가지 문자열 출력방법이 있지만 format보다 f-string이 2배 가까이 빠르다고 합니다. 그리고 상당히 직관적이어서 쉽게 이해할 수 있는것도 장점입니다. F-문자열(f-string) 일반적인 문자열 출력방법 print('Hello Python') 결과) Hello Python 일반적으로 문자열은 문자 끝과 끝에 '(작은따옴표) 또는 "(큰따옴표)를 넣어서 사용합니다. 이러한 패턴에 앞에 알파벳 f를 붙여주면 f-string이 됩니다. 1. f-string을 이용한 일반적인 출력 print(f'Hello Python') 결과) Hello Python 2. f-string은 중괄호를 사용해서 {} 문자열안에 변수를..

    [Python] 문자열 루프, enumerate함수

    문자열 루프 파이썬 문자열 루프는 문자열의 구성요소로 반복문을 돌리는 것을 말합니다. for문의 기본 구조는 다음과 같습니다. for 반복변수 in 연속적인객체: 수행할 문장 연속적인객체는 리스트, 튜플, 문자열 등 연속적으로 이루어진 객체를 의미합니다. 파이썬의 딕셔너리같은 해시구조는 연속적이지 않기에 사용할 수 없습니다. string = 'tistory' for char in string: print(char, end='') 결과) tistory 문자열 string의 원소들을 간격없이 하나씩 출력합니다. string = 'tistory' for char in list(string): print(char, end='') 결과) tistory enumerate함수 문자열 루프를 사용하면 몇번째 반복문인지..

    [Python] .reverse()함수와 reversed()함수의 차이

    1. reverse()함수 reverse함수는 리스트타입에서 제공하는 함수입니다. 따라서 반환값이 없고 단순히 리스트를 뒤집어주는 역할을 합니다. 따라서 리스트에서만 사용이 가능하고 튜플과 딕셔너리, 문자열에서는 사용할 수 없습니다. my_list = [ 1, 2, 3, 4 ] my_dict = { 'a' : 1, 'b' : 2, 'c' : 3 } my_tuple = (1, 2, 3) my_string = '123' my_list.reverse() # [ 4, 3, 2, 1 ] my_dict.reverse() # error my_tuple.reverse() # error my_string.reverse() # error 반환값이 없기에 변수에 값을 저장해 줄 수 없습니다. my_list = [ 1, 2,..

    [Python] math모듈과 ceil함수, floor함수

    파이썬에 ceil함수와 floor함수가 있습니다. 실수를 올림 또는 내림해주는 함수입니다. math모듈에 포함되어 있는 함수로써 math모듈을 추가해주어야 합니다. import math 1. ceil함수 ceil함수는 천장이라는 뜻에 맞게 실수를 올림해주는 역할을 합니다. ceil함수 예시) import math print(math.ceil(3.14)) 결과) 4 예시2) import math print(math.ceil(-3.14)) 결과) -3 예시3) import math print(math.ceil(-0.141579)) 결과) 0 예시4) import math print(math.ceil(5)) print(math.ceil(0)) 결과) 5 0 정수는 올려줄 소수부분이 없으므로 그대로 출력해줍니다..