728x90

Programming/Python 15

[Python] 코딩테스트에서 자주 사용되는 주요 라이브러리

코딩테스트를 준비하며 반드시 알아야 하는 라이브러리 6가지! 1. 내장 함수: 기본 내장 라이브러리 2. itertools: 순열과 조합 3. heapq: 힙(Heap) 기능 제공, 우선순위 큐 기능 구현 4. bisect: 이진 탐색(Binary Search) 기능 제공 5. collections: 덱(deque), 카운터(Counter) 등의 유용한 자료구조 포함 6. math: 필수적인 수학적 기능 제공(팩토리얼, 제곱근, 최대공약수(GCD), 삼각함수 관련 함수들과 파이같은 상수 포함) 1. 내장 함수 - sum() : iterable 객체(리스트, 사전 자료형, 튜플 자료형 등)의 모든 원소의 합 반환 result = sum([1, 2, 3, 4, 5]) print(result) # >>> 15..

Programming/Python 2021.08.12

[Python] 2차원 리스트 초기화하기

요소의 개수를 미리 알고있는 1차원 리스트를 선언할 때는 다음과 같이 선언한다. # 5개 요소의 1차원 리스트 만들기 n = 5 a = [0]*n print(a) # >>> [0, 0, 0, 0, 0] 하지만 2차원 리스트를 선언할 때 같은 방법을 사용하면 오류가 난다. # 5*5 요소의 2차원 리스트 만들기(잘못된 방법) n = 5 a = [[0] * n] * n print(a) # >>> [[0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]] 출력은 잘 되는 듯 보이지만, a[1][2]를 1로 바꾸려고 한다면, 리스트가 이상하게 바뀌어버린다. a[1][2] = 1 print(a) # >>> [[0, 0,..

Programming/Python 2021.08.11

[Python] itertools 사용하기 (permutaions, product, combinations)

itertools: 경우의 수를 찾을 때 사용되는 라이브러리 (import itertools) itertools.permutations: 순서는 중요하고 중복은 허용되지 않음. ex) itertools.permutations([1, 2, 3], 2) => [(1,2), (1,3), (2,1), (2,3), (3,1), (3,2)] itertools.product: 순서는 중요하고 중복은 허용됨. ex) itertools.product([1, 2, 3], 2) => [(1,1), (1,2), (1,3), (2,1), (2,2), (2,3), (3,1), (3,2), (3,3)] itertools.combinations: 순서는 중요하지 않고 중복은 허용되지 않음. ex) itertools.combinati..

Programming/Python 2021.08.09

[Python] Counter: list 요소 개수 세어서 dictionary로 출력

리스트의 모든 요소의 개수를 세서 dictionary로 출력하기를 원한다면 Counter을 사용하면 된다. collections 모듈 내에 존재하므로 import collections를 해주어야한다. import collections list1 = [1, 2, 10, 1, 4, 10, 2, 1, 1, 10] print(collections.Counter(list1)) ''' >> Counter({1: 4, 10: 3, 2: 2, 4: 1})''' list2 = [1, 2, 10, 1, 4, 10, 2, 1, 1] print(collections.Counter(list2)) ''' >> Counter({1: 4, 2: 2, 10: 2, 4: 1})''' - 두 Counter 비교하기 print(collec..

Programming/Python 2021.07.11

[Python] 딕셔너리 dictionary

딕셔너리(dictionary): key-value 쌍으로 데이터를 저장하는 자료구조 딕셔너리 = {key : value} 딕셔너리 = {key1:value1, key2:value2, key3:value3, key4:value4} key를 이용해 value에 접근이 가능하다. (key 값은 중복이 될 수 없다.) 1. 딕셔너리 생성 # 딕셔너리 생성 d = { 'key1' : 1 } 2. 값 추가 # 값 추가 d['key2'] = 2 d['key3'] = 'value3' d[4] = 4 d[(5,6)] = 'value 5 and 6' #튜플 키 d['key7'] = (7, 8) #튜플 값 3. 전체 출력, key만 출력, value만 출력, key-value 쌍 출력, key로 value 출력 #전체 출력..

Programming/Python 2021.07.11

[Python] 코드업 기초 100제

코딩테스트 스터디 1주차로 코드업 기초 100제를 풀어보고 있다. 쉬운 내용이긴 하지만 분명히 허점도 있을 것이기에 기초를 다지자 하는 마음에서 풀고 있다. 🔎 코드업 기초 100제를 풀며 알아두면 좋을 것 정리 1. 입출력 \도 안전하게 출력하려면 \\를 사용하는 것이 좋다. input().split(':') 를 사용하면 콜론 ':' 기호를 기준으로 자른다. print(?, ?, sep=':') 를 사용하면 콜론 ':' 기호를 사이에 두고 값을 출력한다 2. 출력 변환 print('%x' %n) #n에 저장되어있는 값을 16진수(hexadecimal) 소문자 형태 문자열로 출력 print('%X' %n) #n에 저장되어있는 값을 16진수 대문자 형태 문자열로 출력 10진수 형태로 입력받고 %x로 출력하..

Programming/Python 2021.07.01
728x90