<청춘> 격정적으로 사는 것

밤을 새고 공부한 다음 날 새벽에 느꼈던 생생한 환희와 야생적인 즐거움을 잊을 수 없다

전체 글 101

[파이썬 Python] collections 라이브러리 / deque / Counter

collections collections 라이브러리는 유용한 자료구조를 제공하는 표준 라이브러리다. 표준 라이브러리 : 특정한 프로그래밍 언어에서 자주 사용되는 표준 소스코드를 미리 구현해 놓은 라이브러리 대표적으로 deque, Counter 클래스가 포함되어 있다. deque 파이썬에서는 Queue 라이브러리가 아닌 deque를 사용해 큐를 구현한다. deque 는 스택과 큐의 장점을 모두 채택한 것이라, 데이터 삽입/삭제 속도가 리스트 자료형에 비해 효율적이며 queue 라이브러리를 이용하는 것보다 더 간단하기 때문이다. 리스트 자료형 : 데이터 삽입/삭제 시 '가장 뒤쪽 원소'를 기준으로 수행하므로 리스트 앞쪽에 있는 원소를 삭제하거나 앞쪽에 새 원소를 삽입할 때 많은 시간이 소요됨 시간복잡도 비..

파이썬 Python 2021.05.27

[파이썬 Python] split / join 함수 : 리스트의 문자열 합치기 나누기

split 형식 : 문자열.split(구분자) split 함수는 문자열을 나누는 함수입니다. 매개변수로 구분자를 주면, 해당 구분자를 기준으로 문자열을 잘라 리스트 형식으로 반환합니다. 만약, 매개변수로 아무것도 주지 않으면 공백을 기준으로 문자열을 나눕니다. String1 = 'a b c d' String2 = 'a_b_c_d' String3 = 'azbzczd' result1 = String1.split() result2 = String2.split('_') result3 = String3.split('z') print(result1) print(result2) print(result3) # print 결과 ['a', 'b', 'c', 'd'] ['a', 'b', 'c', 'd'] ['a', 'b',..

파이썬 Python 2021.05.26

[파이썬 Python] itertools , 순열과 조합 (permutations, combinations)

itertools itertools 는 파이썬에서 반복되는 데이터를 처리하는 기능을 제공하는 라이브러리이다. 대표적으로, permutations(순열), combinations(조합) 클래스가 포함되어 있다. 경우의 수 경우의 수란 한 번의 시행에서 '일어날 수 있는 사건의 가지 수'를 의미한다. '동전 던지기' 시행에서 경우의 수는 {앞면, 뒷면} 이므로 2가지이다. '주사위 던지기' 시행에서 경우의 수는 {1, 2, 3, 4, 5, 6} 이므로 6가지이다. 순열 (Permutations) 순열이란 서로 다른 n개에서 r개를 선택하여 일렬로 나열하는 것을 의미한다. (순서를 고려함) 기호로 쓰면 nPr 이고, 경우의 수를 계산하는 공식은 nPr = n!/(n-r)! 이다. 예) 반장, 부반장 뽑기 [짱..

파이썬 Python 2021.05.26

[백준] 15649번, 15650번 : N과 M (1), (2), (3), (4) / 파이썬 Python / 백트래킹

모든 경우를 탐색하는 백트래킹 알고리즘 itertools / permutations / combinations 2021.05.26 - [파이썬 Python] - [파이썬 Python] itertools , 순열과 조합 (permutations, combinations) join 2021.05.26 - [파이썬 Python] - [파이썬 Python] split / join 함수 : 리스트의 문자열 합치기 나누기 N과 M (1) 내 코드 from itertools import permutations N, M = map(int, input().split()) P = permutations(range(1, N+1), M) for p in P : print(' '.join(map(str, p))) N과 M (2..

[백준] 13305번 : 주유소 / 파이썬 Python / 그리디(Greedy) 알고리즘

문제 어떤 나라에 N개의 도시가 있다. 이 도시들은 일직선 도로 위에 있다. 편의상 일직선을 수평 방향으로 두자. 제일 왼쪽의 도시에서 제일 오른쪽의 도시로 자동차를 이용하여 이동하려고 한다. 인접한 두 도시 사이의 도로들은 서로 길이가 다를 수 있다. 도로 길이의 단위는 km를 사용한다. 처음 출발할 때 자동차에는 기름이 없어서 주유소에서 기름을 넣고 출발하여야 한다. 기름통의 크기는 무제한이어서 얼마든지 많은 기름을 넣을 수 있다. 도로를 이용하여 이동할 때 1km마다 1리터의 기름을 사용한다. 각 도시에는 단 하나의 주유소가 있으며, 도시 마다 주유소의 리터당 가격은 다를 수 있다. 가격의 단위는 원을 사용한다. 예를 들어, 이 나라에 다음 그림처럼 4개의 도시가 있다고 하자. 원 안에 있는 숫자는..