Python 3.12 정식 발표가 2023/10/02에 예정되어 있다. 현재 Python 3.12 0rc3가 공개되었고 여러 업데이트가 이루어졌다. This release, 3.12.0rc3, is the absolutely last release preview for Python 3.12. There will be no ABI changes from this point forward in the 3.12 series. What’s New In Python 3.12 Release, 3.12.0rc3,, Date, September 22, 2023,. This article explains the new features in Python 3.12, compared to 3.11. For full detai..
참고자료 https://peps.python.org/pep-0572/ https://docs.python.org/ko/3.11/whatsnew/3.8.html 소개 := 대입 연산자를 walrus operator라고 부른다. walrus는 바다코끼리를 뜻하는데 :=이 마치 바다코끼리의 눈과 엄니를 닮아서라고 한다. 정식 명칭은 assignment expression이다. Gopher라면 익숙할 이 대입 연산자는 코드를 간결하게 만들어준다. 다만 Python 3.8에서 도입된 연산자이므로 사용 시 버전에 유의해야 한다. # Without := match = pattern.search(data) if match is not None: print(f"matched pattern: {match}") # With..
Go의 표준 입출력은 fmt 패키지를 사용한다. package main import "fmt" func main() { var num int fmt.Scan(&num) // 입력 fmt.Print(num) // 출력 } 하지만 위와 같은 방식의 표준 입출력은 속도가 느리다. 만약 코딩 테스트를 푼다면 문제에 따라 시간 초과의 원인이 될 수도 있다. bufio Reader를 이용한 빠른 입출력 import ( "bufio" "fmt" "os" ) var reader = bufio.NewReader(os.Stdin) var writer = bufio.NewWriter(os.Stdout) func main() { defer writer.Flush() var num int fmt.Fscan(reader, &nu..
Quick Sort는 분할 정복을 이용한 정렬 알고리즘으로 평균적으로 좋은 성능을 보인다. 평균 시간 복잡도: $O(nlog_2n)$ 정렬된 리스트에 대해: $O(n^2)$ 정렬 원리 1 퀵 정렬의 아이디어는 생각보다 간단하다. 기준을 정한다. 기준보다 작으면 기준점의 왼쪽으로, 기준보다 크면 기준점의 오른쪽으로 모은다. 기준의 왼쪽과 오른쪽의 배열을 쪼갤 수 없을 때까지 재귀적으로 정렬한다. 이때 기준점을 pivot이라고 한다. 배열의 첫번째 값을 pivot으로 설정한 예시: 1. [5 4 3 1 6 2 7] 2. pivot: 5 [4 3 1 2] + [5] + [6 7] 3. pivot: 4, 6 [3 1 2] + [4] + [5] + [6] + [7] 4. pivot: 3, (우측은 정렬 완료) [..