본문 바로가기
  • soobinhand의 기술 블로그
728x90

전체 글119

[Python] 유용한 표준 라이브러리 itertools : 파이썬에서 반복되는 형태의 데이터를 처리하기 위한 유용한 기능들을 제공합니다. 특히 순열과 조합 라이브러리는 코테에서 자주 사용됩니다. heapq : 힙 자료구조를 제공합니다. 일반적으로 우선순위 큐 기능을 구현하기 위해 사용됩니다. bisect : 이진 탐색 기능을 제공합니다. collections : 덱, 카운터 등의 유용한 자료구조를 포함합니다. math : 필수적인 수학적 기능을 제공합니다. 팩토리얼, 제곱근, 최대공약수, 삼각함수 관련 함수부터 파이와 같은 상수를 포함합니다. # 기본적인 내장함수들 result = sum([1,2,3,4,5]) print(result) min_result = min(7,3,5,2) max_result = max(7,3,5,2) print(m.. 2021. 11. 23.
[Python] 함수 함수 정의하기 프로그램에는 똑같은 코드가 반복적으로 사용되어야 할 때가 많습니다. 함수를 사용하면 소스코드의 길이를 줄일 수 있습니다. 반환값은 여러개도 가능합니다. def 함수명(매개변수): 실행할 소스코드 return 반환 값 def add(a,b): return a+b print(add(3,7)) # print 결과 10 global global 키워드로 변수를 지정하면 해당 함수에서는 지역 변수를 만들지 않고, 함수 바깥에 선언된 변수를 바로 참조하게 됩니다. 2021. 11. 23.
[Python] 반복문 반복문 while과 for문이 있는데, 경우에 따라서 편한 것을 사용하면 됩니다. 근데 보통 for문이 더 간결한 경우가 많습니다. 1부터 9까지 모든 정수 합 구하기 예제 (while) i = 1 result = 0 while i 2021. 11. 23.
[Python] 조건문 a = 15 if a >= 10: print("a는 10보다 큽니다.") if a >= 0: print("a는 0보다 큽니다.") if a >= 30: print("a는 30보다 큽니다.") # print 결과 a는 10보다 큽니다. a는 0보다 큽니다. 조건문 조건문의 기본적인 형태는 if ~ elif ~ else입니다. elif나 else는 경우에 따라서 사용하지 않아도 됩니다. if 조건문 1: 조건문 1이 true일 때 실행되는 코드 elif 조건문 2: 조건문 1이 false고 조건문 2가 true일 때 실행되는 코드 else: 위의 모든 조건문이 false일 때, 실행되는 코드 비교 연산자 x == y : x와 y가 같을 때 참 x != y : x와 y가 다를 때 참 x >(=) y x = 8.. 2021. 11. 23.
[Python] 기본 입출력 입력 input() 함수는 한 줄의 문자열을 입력받는 함수입니다. map() 함수는 리스트의 모든 원소에 각각 특정한 함수를 적용할 때 사용합니다. # 데이터의 갯수 입력 n = int(input()) # 각 데이터를 공백을 기준으로 구분하여 입력 data = list(map(int, input().split())) data.sort(reverse=True) print(data) # 공백을 기준으로 구분된 데이터를 입력 받습니다. list(map(int, input().split())) # 데이터가 몇개 없다면 a,b,c = map(int, input().split()) # print 결과 5 65 90 75 34 99 [99,90,75,65,34] 출력 파이썬에서 기본 출력은 print() 함수를 이용.. 2021. 11. 23.
[Python] 집합 집합 자료형 중복을 허용하지 않습니다. 순서가 없습니다. 집합은 리스트 혹은 문자열을 이용해서 초기화 가능합니다. (set()함수) 중괄호 안에 , 를 기준으로 데이터를 삽입해서 초기화도 가능합니다. data = set([1,1,2,3,4,4,5]) print(data) data = {1,1,2,3,4,4,5} print(data) a = set([1,2,3,4,5]) b = set([3,4,5,6,7]) print(a|b) print(a&b) print(a-b) # print 결과 {1,2,3,4,5} {1,2,3,4,5} {1,2,3,4,5,6,7} {3,4,5} {1,2} 집합 자료형 관련 메소드 data = set([1,2,3]) print(data) # 새로운 원소 추가 data.add(4) p.. 2021. 11. 23.
[Python] 딕셔너리(사전) 딕셔너리(사전) 사전 자료형은 키와 값의 쌍을 데이터로 가지는 자료형입니다. 리스트와 튜플은 값을 순차적으로 저장하지만 이는 다릅니다. 사전 자료형은 키와 값의 쌍을 데이터로 가지면, 변경 불가능한 자료형을 키로 사용할 수 있습니다. data = dict() #키 = 값 data['사과'] = 'apple' data['바나나'] = 'banana' data['오렌지'] = 'orange' print(data) if '사과' in data: print("'사과'를 키로 가지는 데이터가 존재합니다.) # print 결과 {'사과': 'apple', '바나나': 'banana', '오렌지': 'orange'} '사과'를 키로 가지는 데이터가 존재합니다. 사전 자료형 관련 메소드 키와 값을 별도로 뽑아내는 메소.. 2021. 11. 23.
[Python] 튜플 튜플 튜플은 리스트와 유사하지만 차이점이 존재합니다. 튜플은 한 번 선언된 값을 변경할 수 없습니다. 리스트는 대괄호, 튜플은 소괄호 튜플은 리스트에 비해 상대적으로 공간 효율적입니다. a = (1,2,3,4,5,6,7,8,9) print(a[3]) print(a[1:4]) # print 결과 4 (2,3,4) 튜플의 장점 서로 다른 성질의 데이터를 묶어서 관리해야할 때 좋습니다. 최단 경로 알고리즘에서 (비용, 노드 번호) 형태로 자주 사용합니다. 데이터의 나열을 해싱의 키 값으로 사용해야할 때 좋습니다. 튜플은 변경이 불가능하므로 리스트와 다르게 키 값으로 사용될 수 있습니다. 2021. 11. 23.
[Python] 문자열 문자열 초기화는 큰따옴표나 작은 따옴표를 이용합니다. a = "hello world" print(a) # print 결과 hello world 문자열 연산 문자열 변수에 + 를 이용하면 문자열이 더해져서 연결됩니다. 이것을 concatenate이라고도 합니다. 문자열을 특정한 양의 정수와 곱하면 그 값만큼 여러 번 더해집니다. 문자열에 대해서도 인덱싱과 슬라이싱을 이용할 수 있습니다. 다만 문자열은 특정 인덱스의 값을 변경할 수는 없습니다. a = "hello" b = "soobin" print(a+" "+b) a = "s" print(a*3) a = "soobin" print(a[2:4]) # print 결과 hello soobin sss ob 2021. 11. 23.
[Python] 리스트 리스트 여러 개의 데이터를 연속적으로 담아 처리하는 자료형입니다. JAVA의 배열, Array라고 생각하면 됩니다. (물론 훨씬 리스트가 기능이 많습니다.) 배열 혹은 테이블이라고 부르기도 합니다. 대괄호에 넣어서 초기화합니다. 쉼표로 원소를 구분합니다. 언제나 그랬듯이, index는 0부터 시작합니다. #직접 데이터를 삽입하여 초기화하는 방법 arr = [1,2,3,4,5,6,7,8,9,10] print(a) print(a[2]) #크기가 n이고 모든 값이 0인 1차원 리스트 초기화 n = 10 a = [0] * n print(a) # print 결과 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 3 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 인덱싱 인덱스 값을 입력하여 리스트의.. 2021. 11. 21.
728x90