Python
-
유용한 표준 라이브러리Python 2020. 12. 24. 09:18
내장함수: 기본 입출력(input(), print(), sorted()), 정렬 기능 등을 제공하는 함수 itertools: iterator를 처리하기 위한 기능을 제공한다. itertools의 순열,조합 라이브러리는 코딩테스트 중 완전탐색 알고리즘에 유용하게 사용된다. heap: heap 자료구조를 제공한다. heap정렬과 우선순위 큐 기능 구현에 사용한다. (다익스트라 최단거리 알고리즘에 활용 된다.) bisect: 이진 탐색 기능을 제공한다. collections: deque, Counter 등의 유용한 자료구조를 제공한다. math: 수학과 관련된 기능을 제공한다. factorial, square, GCD, 삼각함수와 같은 함수와 pi와 같은 상수를 제공 [내장함수] 별도의 모듈을 import할 ..
-
Python 기본 정렬과 커스텀 정렬Python 2020. 12. 24. 08:34
기본 정렬 (오름차순, 내림차순) 커스텀한 정렬 람다식을 사용한 정렬 functools.cmp_to_key를 사용한 정렬 comparator 함수를 직접 사용하여 정렬 1. 기본 정렬 (오름차순, 내림차순) 단순하게 숫자나 문자열의 대소를 따지는 정렬은 python에서 지원하는 sort(), sorted()를 사용하여 처리할 수 있다. 기본 오름차순으로 정렬된다. nums = [4, 2, 5, 3, 1] # num을 정렬한 내용의 새로운 리스트를 생성하려면 sorted_num = sorted(nums) # num을 정렬된 내용으로 변경하려면 nums.sort() 내림차순으로 정렬하려면 reverse 파라미터를 True로 지정한다. nums = [4, 2, 5, 3, 1] # num을 정렬한 내용의 새로운..
-
2차원 리스트 초기화 시 주의할 점Python 2020. 10. 12. 17:06
n x n 2차원 리스트를 0으로 초기화 시켜보고자 합니다. 파이썬의 리스트 관련 문법을 살펴보다 보면 아래와 같이 초기화 할 수 있을 것으로 생각합니다. n = 4 two_dimensional_list = [[0] * n] * n for e in two_dimensional_list: print(e) 위의 코드를 실행해보면 다음 그림과 같이 정상적으로 초기화 된 것으로 보입니다. 하지만 리스트 요소 값 중 하나를 다른 값으로 업데이트 해보도록 하겠습니다. n = 4 two_dimensional_list = [[0] * n] * n for e in two_dimensional_list: print(e) print("=============") two_dimensional_list[0][0] = 1 for..
-
console 입출력과 형변환Python 2020. 10. 8. 09:28
[Console 입력] 1. 공백없는 한 단어만 입력받기 var1 = input() 2. 공백을 기준으로 구분된 여러 단어들 입력받기 # input으로 받은 문자열을 split에 명시된 문자로 구별 # map을 사용하여 int형으로 변환 # list로 받아서 변수에 대입 var2, var3 = list(map(int, input().split())) 3. 보다 빠른 입력 함수 sys.stdin.readline()를 사용하기 import sys inputData = sys.stdin.readline().rstrip() # ① inputNumbers = list(map(int, inputData.split())) # ② print(inputNumbers) ① 표준 입력에서 readline()으로 입력된 문자..
-
class 사용하기Python 2020. 9. 28. 11:00
class와 메서드 선언 class 클래스이름: #객체를 통해 사용할 수 있는 메서드 def 메서드이름1(self): 실행코드 #클래스를 통해 사용할 수 있는 메서드 @staticmethod def 메서드이름2(매개변수1, 매개변수2 ...): 실행코드 #만약 내용없는 class를 선언하고자 한다면 다른 내용 대신 pass를 입력 class의 속성 추가 # class 선언 시 속성 추가 class 클래스이름: 속성이름8 = 값# 클래스 속성. 이 클래스로 만들어진 모든 객체가 공유하는 속성이다. __속성이름9 = 값# __으로 시작하는 속성명은 java의 private 속성과 같다. __slot__=['속성이름5', '속성이름6'] """ 객체를 생성할 때 자동으로 호출되는 __init__ 메서드는 Ja..