일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- AIVLE
- 데이터분석
- AI 윤리
- 데이터
- dictionary
- pandas
- 파이썬
- KT AIVLE
- Java
- numpy
- 코딩테스트
- AI학습
- 인공지능
- 자바
- 백준
- ai 전문가 과정
- 정처기 실기
- 알고리즘
- LG Aimers
- 클래스
- 모각코
- 코딩
- 데이터과학
- Ai
- Python
- KT
- list
- github
- git
- 정처기
- Today
- Total
목록파이썬 (39)
무향향수
시간 복잡도(Time Complexity)알고리즘의 효율성을 평가하는 기준을 말한다.알고리즘이 실행되는 데 걸리는 시간을 입력 크기 n에 따라 나타낸 것이다.기본적인 시간 복잡도 종류O(1) - 상수 시간 (Constant Time)입력의 크기와 관계없이 일정한 시간이 걸리는 알고리즘O(n) - 선형 시간 (Linear Time)입력의 크기 n에 비례하여 시간이 걸리는 알고리즘O(n^2) - 이차 시간 (Quadratic Time)입력 크기의 제곱에 비례하여 시간이 걸리는 알고리즘O(log n) - 로그 시간 (Logarithmic Time)입력 크기가 커질수록 실행 시간이 느리게 증가하는 알고리즘O(n log n) - 선형 로그 시간 (Linearithmic Time)선형 시간과 로그 시간이 결합된 알..
1. enumerate() 사용하기- enumerate를 사용하면 반복문에서 인덱스와 값을 쉽게 사용할 수 있다.a = [i for i in range(4)]# 변수를 enumerate()로 감싸 사용한다.for idx, num in enumerate(a): if num > 2: a[idx] = 0# 배열 a에 있는 값이 2보다 작으면 0으로 변경하는 코드 2. for문 대신에 list comprehension 사용하기# [expression for item in iterable if condition] 형식으로 작성한다.data = [i for i in range(10) if i % 2 = 0]# 짝수만 data 배열에 저장된다. 3. Generator comprehension 사용하기gene..
파이썬 힙 자료구조 heapqheapq 모듈을 사용하여 priority queue를 구현할 수 있다.import heapqheapq.heappush(heap, item) # item을 heap에 추가heapq.heappop(heap) # heap에서 가장 작은 원소를 pop하고, 비어 있는 경우 idexError가 호출됨heapq.heapify(x) # 리스트 x를 heap으로 변환 최대힙https://www.acmicpc.net/problem/11279import sysimport heapqN = int(sys.stdin.readline())max_heap = []for i in range(N): x = int(sys.stdin.readline()) if x == 0: if ma..

Django 웹사이트 내용을 참조하여 장고 앱 시작하기 내용 정리새 프로젝트 생성하기 # django 버전을 확인해준다.python -m django --version python, django 설치 후, vscode의 terminal에서 코드 실행하기 # 새 프로젝트가 생성된다.django-admin startptoject mysitecd 명령어로 코드를 저장할 디렉토리로 이동 후, 명령 실행하기명령 실행 후, 디렉토리에 mysite라는 디렉토리가 생성된다. # mysite 구조mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.py위와 같이 mys..
파이썬 코드를 살펴보면if __name__ == "__main__": # ... 대부분 위와 같은 형식으로 코드가 작성되어 있는 것을 확인할 수 있다.처음에는 python에서는 메인 함수를 저런 식으로 호출하나보다 하고 그냥 넘기고 잘 사용하지 않았다.그러나 인턴 업무를 하며 코드를 하나씩 이해하던 도중 자주 발견 되어 제대로 알고 사용하고자 정보를 찾아보았다. 코드의 역할 ! 우선 해당 코드의 역할은 크게 두 가지가 있다.1. 모듈과 스크립트 구분 📏파이썬에서는 코드가 *모듈로 임포트될 때와 *스크립트로 직접 실행될 때 서로 다른 방식으로 실행된다.여기서 __name__ 은 현재 모듈의 이름을 나타내는 변수이다.만약 스크립트가 직접 실행되면 __name__ 값은 "__main__"이 된다.그러나 다른..
더보기인턴 업무 중에서 2만개의 이미지 파일명을 바꾼 후 파일의 정보를 json에 저장하고 json과 jpg파일을 제출 사이트에 업로드해야했다. 파일을 압축, 다운, 압축 해제, 업로드 순으로 과정을 진행해야 했는데 시간이 약 5시간 정도 걸렸고 코드를 실행시키고 파일을 전처리 하는 시간까지 합치면 10시간 넘게 시간이 소요되었다.매번 코드를 최대한 효율적으로 수정하였지만, 큰 변화가 없었다.단순한 파일 업로드로 인해 퇴근시간이 늦어져 시간이 매우 아깝다는 생각이 들었고, 로컬 환경이 아닌 가상환경에서 코드를 실행하고 파일을 처리하고자 정보를 찾아본 결과 AWS S3에 대해 알게되었다. 이제 Spark와 AWS S3를 함께 사용하면 퇴근시간이 빨라질 것만 같다..! 행복하다AWS S3Amazon Simp..

더보기처음 파이썬으로 문제를 풀었을 때 채점 시간이 엄청 오래 걸리더니 결국 시간초과가 나버렸다. 언제나처럼 이중 for문을 사용한 것이 문제였고 문제를 해결한 다른 블로그를 참조하여 코드를 작성하였다. 이중 for문이 쉽고 좋은데.. 시간이 너무 오래 걸려서 슬프다. 이전까지는 이중 for문이 만능이었는데 시간복잡도나 자료구조, 알고리즘을 배우고 코드를 작성해보니 최악이라는 생각이 들기도 한다. 더 열심히 대응방안을 찾아봐야겠다. 처음에 작성했던 코드 (시간 초과)import sysN = int(sys.stdin.readline()) # 수 입력받기a = [2]for i in range(N, 1000000000000): # while문 대신 for문을 사용 x = 1 for j i..

더보기코딩테스트 백준 1920번: 수 찾기 문제를 풀다가 sys를 사용했음에도 시간초과가 떠서 통과한 다른 사람들의 코드를 참조하였다. 파이썬의 경우 대부분의 사람들이 이진 탐색(이분 탐색)을 사용하여 코드를 작성하였다. 이를 참조하여 코드를 작성하고 테스트를 통과했다. 이전까지 알고리즘을 배울 때는 잘 쓰이지도 않는데 왜 배워야하는지 의문점이 많았는데 코딩테스트에 직접 활용해보니 유용하다는 생각이 들었다. 처음에 작성했던 코드 (시간 초과)import sys# 각각 int와 list로 입력받아 저장하기N = int(sys.stdin.readline())A = list(map(int, sys.stdin.readline().split()))M = int(sys.stdin.readline())B = lis..
1. vscode cmd에서 conda 가상환경 사용하기2. jupyter lab에서 conda 가상환경 사용하기 1. vscode cmd에서 conda 가상환경 사용하기- 1) 시스템 환경 변수 편집에 있는 path에 추가하여 cmd 에서도 conda 명령어를 사용할 수 있도록 해주기- 환경 변수의 path에 anaconda3의 경로를 복사하여 붙여넣기- 예)C:\Users\orange\anaconda3C:\Users\orange\anaconda3\LibraryC:\Users\orange\anaconda3\Scripts - 이후 conda 명령어를 입력하여 제대로 작동하는지 확인하기- 2) conda create 를 사용하여 가상환경 생성해주기// 가상환경 생성하기conda create -n 가상환경..

알고리즘을 공부하기 전 생각해 보아야할 사항! 알고리즘을 공부하는 이유는 무엇인가요 🤨❓1. 학부생 때 알고리즘 과목 성적이 너무 낮아 이를 보충하기 위해서 공부한다.2. 취업을 위한 코딩테스트에 대응하기 위해서 공부한다.3. 부족한 CS 지식을 길러 머신러닝, 딥러닝 알고리즘에 도움을 얻기 위해 공부한다. Python 대신 Java로 알고리즘을 공부하는 이유는 무엇인가요 🤨❓1. Python은 데이터 분석, 머신러닝, 딥러닝 등을 공부하며 자주 접할 수 있지만, Java의 경우 따로 공부하지 않으면 접할 수 없어서 공부한다.2. 백엔드의 경우 Java Spring이 필수적인데 Python으로 데이터 분석만 공부하기 보다는 다양한 언어를 공부해두면 도움이 될 것 같아서 공부한다. 3. 학부생 컴퓨터..