본문 바로가기

Programming 💻/Python14

[Python] 2차원 배열 90/180/270도 회전 구현 코드 1) 시계 방향으로 90도 회전def rotate90(arr): N = len(arr) new_area = [[0]*N for _ in range(N)] for i in range(N): for j in range(N): new_area[j][N-1-i] = arr[i][j] return new_area 2) 시계/반시계 방향으로 180도 회전def rotate180(arr): N = len(arr) new_area = [[0]*N for _ in range(N)] for i in range(N): for j in range(N): new_area[N-1-i][N-1-j] = area[i].. 2024. 10. 13.
[Python] 파이썬 순열/중복순열/조합/중복조합 구현 코드 (Backtracking 활용) 1) 순열def permutations(arr, k): cases = [] visited = [False]*(len(arr)) def dfs(elements): if len(elements) == k: cases.append(elements) return for i in range(len(arr)): if not visited[i]: visited[i] = True dfs(elements + [arr[i]]) visited[i] = False dfs([]) return casesp.. 2024. 10. 13.
[Python] 문자열 대문자 및 소문자 변환 함수(upper / capitalize / title / lower / swapcase) 1. 대문자로 변환하는 함수 A='abcd' print(A.upper()) #ABCD print(A.capitalize()) #Abcd print(A.title()) #Abcd B='a2b3c4' print(B.upper()) #A2B3C4 print(B.capitalize()) #A2b3c4 print(B.title()) #A2B3C4 C="abc-def efg" print(C.upper()) #ABC-DEF EFG print(C.capitalize()) #Abc-def efg print(C.title()) #Abc-Def Efg upper() : 모든 알파벳을 대문자로 변환 capitalize() : 문자열의 첫 글자는 대문자로 만들고 나머지는 소문자로 변환 title() : 알파벳 외의 문자(숫자,.. 2024. 1. 5.
[Python] 아스키코드(Ascii Code) 관련 함수 ord / chr 1. ord(문자) print(ord('a')) # 97 하나의 문자를 인자로 받고 해당 문자에 해당하는 유니코드 정수를 반환합니다. 2. chr(정수) print(chr(97)) # 'a' 하나의 정수를 인자로 받고 해당 정수에 해당하는 유니코드 문자를 반환합니다. 2024. 1. 5.
[Python] collections 모듈의 Counter 사용법 1) Counter 기본 사용법 이번에는 데이터의 개수를 셀 때 매우 유용한 파이썬의 collections 모듈의 Counter 클래스에 대해서 알아보겠습니다. from collections import Counter collections 모듈의 Counter 클래스는 별도 패키지 설치 없이 파이썬만 설치되어 있다면 위와 같이 임포트해서 바로 사용할 수 있습니다. >>> Counter(["hi", "hey", "hi", "hi", "hello", "hey"]) Counter({'hi': 3, 'hey': 2, 'hello': 1}) >>> Counter("hello world") Counter({'h': 1, 'e': 1, 'l': 3, 'o': 2, ' ': 1, 'w': 1, 'r': 1, 'd': .. 2023. 10. 7.
[Python] Hash 자료형(사전 자료형) 정리 1) Hash 자료형 정리 파이썬에서는 Dictionary 라는 자료구조를 통해 해시를 제공합니다. 그리고 Dictionary는 dict 클래스에 구현되어있습니다. 해시 자료형은 다음과 같은 상황에서 사용할 수 있습니다. 리스트를 쓸 수 없을 때 (인덱스 값을 숫자가 아닌 다른 값 문자열이나 튜플을 사용하려고 할 때) 빠른 접근 / 탐색이 필요할 때 ⭐️ 집계가 필요할 때(해시와, collections 모듈의 Counter 클래스를 사용) 2) 딕셔너리와 리스트의 시간 복잡도 차이 List에 비해 Dictionary가 매우 빠른 시간복잡도를 갖는 것을 보실 수 있습니다. 즉 , 원소를 넣거나 삭제, 탐색할 일이 많을 때에는 딕셔너리를 사용하는 것이 좋습니다. 3) 딕셔너리 사용법 3-1) 선언 # 빈딕셔.. 2023. 10. 5.