본문 바로가기

개발17

Python의 sorted 함수 ChatGPT와 Python의 documentation의 실습 결과인데 공유하고자 올린다. 주요 특징- sorted(): 어떤 이터러블 객체든 정렬 가능 - reverse=True: 내림차순 정렬, default는 오름차순 정렬이다. - key=함수: 정렬 기준 지정 - 안정적 정렬(stable sort): 동일한 값의 원래 순서 유지 - 시간 복잡도: O(n log n) sorted의 결과는 원본 리스트는 변환하지 않으며 다른 리스트로 추가로 저장할 수 있다.a = [5, 2, 3, 1, 4]b = sorted(a)print(a) #[5, 2, 3, 1, 4]print(b) #[1, 2, 3, 4, 5]  반면에 sort는 기존의 리스트를 정렬하는 in-place 형태의 메소드다.a = [5, 2, 3.. 2025. 2. 19.
파이썬의 여러 가상환경 비교 요즘 무료버젼 ChatGPT도 성능이 굉장히 올라가서 써보는데 잘 정리해준다.밑의 내용을 맹신하면 안되겠지만 레퍼런스정도로 참고하기엔 좋아 보인다. venv, Anaconda, Poetry는 알고 있었지만 Pipenv, Virtualenv, Pyenv는 처음 알게 되었다. 아래는 ChatGPT의 설명이다. 파이썬 가상환경은 개발자들이 서로 다른 프로젝트에 대해 독립적인 패키지 및 환경을 관리할 수 있도록 돕습니다. 대표적인 가상환경 관리 도구로는 venv, Anaconda, Poetry 등이 있습니다. 이들의 장단점을 비교해 보겠습니다.1. venv장점 - 표준 라이브러리 포함: 파이썬 3.3 이상 버전에서는 venv가 표준 라이브러리에 포함되어 있어 추가 설치가 필요 없습니다. - 경량화: 최소한.. 2024. 8. 3.
Anaconda와 가상 환경 관리 Anaconda의 기본 사용법을 설명해 드리겠습니다. Anaconda 자체 설치 방법 Linux:# 설치 파일 다운로드wget https://repo.anaconda.com/archive/Anaconda3-2023.09-0-Linux-x86_64.sh# 실행 권한 부여chmod +x Anaconda3-2023.09-0-Linux-x86_64.sh# 설치 실행./Anaconda3-2023.09-0-Linux-x86_64.sh  macOS:Anaconda 웹사이트에서 macOS 설치 파일 다운로드다운로드된 .pkg 파일 실행Windows:Anaconda 웹사이트에서 Windows 설치 파일 다운로드다운로드된 .exe 파일 실행 # PATH에 추가Anaconda의 PATH 설정 방법을 운영체제별로 설명해드리겠.. 2024. 8. 1.
파이썬의 None과 NaN Python에서의 None 파이썬의 None은 특별한 상수 값으로, 값이 없음을 나타냅니다. 주요 특징은 다음과 같습니다:1. 의미: 변수나 객체에 값이 할당되지 않았거나, 함수가 명시적인 반환 값 없이 종료될 때 사용됩니다.2. 타입: NoneType의 유일한 인스턴스입니다.3. 불리언 컨텍스트: False로 평가됩니다.4. 비교: is 연산자를 사용하여 비교하는 것이 좋습니다 (예: if x is None).5. 초기화: 변수를 초기화할 때 자주 사용됩니다.6. 함수 반환: 함수가 명시적인 return 문 없이 종료될 때 자동으로 반환됩니다.7. 옵셔널 매개변수: 함수의 기본 인자로 자주 사용됩니다. a = Noneif a: # None이 아닌 경우 print("NOT None")else: .. 2024. 7. 12.
알고리즘 테스트 기초 범위 백준에 나오는 code.plus 문제집과 패스트캠퍼스&업스테이지 AI Lab 1기에서 들은 내용을 합쳐서 정리해보았다. 복잡하거나 어려운 상급의 내용이 아니라 코딩테스트를 위한 기초적인 알고리즘 테스트의 범위를 분류해보았다.  자료 구조스택 (Stack)큐 (Queue)우선순위 큐 (Priority Queue)와 힙 (Heap)디큐 (Dequeue)해시맵 (Hash Map)문자열 (String)   구현/시뮬레이션수학문제를 읽고 그대로 구현  탐욕/그리디/Greedy 알고리즘매 단계마다 최적을 선택하며 최종 해답에 도달하는 과정  동적 계획법 / Dynamic Programming (DP)현재 문제를 여러개의 중복된 하위 문제로 바꿔서 푼다.점화식을 세워서 문제를 푼다.바텀업 방식과 탑다운 방식.탑다운 .. 2024. 3. 6.