파이썬55 VScode 파이썬 가상환경 만들기 안녕하세요 카라멜보틀입니다. 이번 포스팅은 VScode로 파이썬 가상환경을 설정하는 방법을 다룰 것입니다. 파이썬 가상환경은 사용할 라이브러리와 버전들을 프로젝트별로 다르게 설정하고 싶을 때 사용합니다. VScode 열기 먼저 VScode를 실행해줍니다. 그다음 작업할 프로젝트 폴더를 생성해줍니다. (혹은 본인이 가상환경을 만들고 싶은 폴더로 vscode를 여시면 됩니다.) 터미널을 열어줍니다. venv란? venv란 파이썬 3.3버전부터 기본적으로 제공하는 라이브러리로, 가상환경을 제작하는 데에 사용됩니다. "python -m venv " 가상환경 만드는 명령어입니다. 은 임의로 설정할 수 있습니다. 현재 디렉토리에 생성하고 싶다면 이름만 적고, 특정 경로에 생성하고 싶다면 앞에 경로를 추가해야합니다... 파이썬 2024. 3. 27. matplotlib Customizing: backend backend란? `matplotlib.get_backend()` 함수는 현재 Matplotlib의 백엔드(backend)를 반환합니다. Matplotlib는 다양한 그래픽 백엔드를 지원하며, 이는 그래픽을 생성하고 화면에 표시하는 방식을 제어합니다. 백엔드는 GUI 환경 또는 파일 형식으로 출력할 때 사용되는 엔진이라고 생각할 수 있습니다. 예를 들어, Matplotlib은 TkAgg, Qt5Agg, Agg, SVG 등 다양한 백엔드를 지원합니다. 각 백엔드는 특정 용도나 요구 사항에 맞게 선택될 수 있습니다. 예를 들어, 대화식 GUI를 사용하여 그림을 표시하려면 TkAgg나 Qt5Agg와 같은 백엔드를 선택할 수 있습니다. 반면에 이미지를 파일로 저장하려면 Agg나 SVG와 같은 다른 백엔드를 선택.. 파이썬/심화 2024. 3. 16. [파이썬] in의 시간복잡도와 set의 자료구조에 대한 궁금증 딥러닝 기초 예제 연습을 위해 출처가 다른 같은 종류의 train 데이터셋과 validation 데이터셋을 준비했습니다. train에는 있는데 validation에는 없는 디렉토리를 확인하여 모두 제거하는 과정에서 파이썬 기초 문법인 for와 in에 대해 궁금증이 생겼습니다. (+ 작은 궁금증에서 파생된 두번째 궁금증도 있습니다.) 📌 궁금증 for와 if ... in ... 의 시간복잡도 차이 기본적으로 하나의 for는 O(N)의 시간 복잡도를 갖는다는 사실을 알고 있습니다. 그렇다면 if - in의 시간 복잡도는 어떻게 될까 궁금했습니다. 🎲 해결중... 파이썬 공식 문서(https://wiki.python.org/moin/TimeComplexity)에 의하면 s가 list인 경우의 in 연산자는 O.. 파이썬/심화 2024. 1. 12. [파이썬] [SSL: CERTIFICATE_VERIFY_FAILED] 해결방법 맥북Air M1를 사용하여 코랩에서 딥러닝 학습을 돌려보던 중 GPU 사용량이 초과되어 당분간 코랩 GPU를 사용할 수 없게 되었습니다. 코랩을 사용하지 못하는 동안 임시로 주피터 노트북으로 맥북 GPU를 사용하기로 했습니다. 하지만 주피터 노트북의 파이썬 가상환경에서 코드를 돌리던 중 문제가 발생하였습니다. 💥 문제상황 딥러닝 전이학습을 공부하기 위해 torchvision.models의 efficientnet_b4를 사용하던 중 pth파일을 웹에서 다운로드 받아오는 함수를 실행하는 과정에서 SSL에러가 발생. 에러코드 URLError: SSL 에러가 발생하는 이유는 '클라이언트의 브라우저가 SSL 인증서를 확인하지 못하거나 신뢰할 수 있다고 확인할 수 없기 때문' 이라고 합니다. macOS에서 해당 문.. 파이썬/심화 2024. 1. 11. [Do-it! 코딩 테스트-기초편] 022. 수 정렬하기 3 문제 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 접근 데이터 크기: 10,000,000 시간 제한: 5초 메모리 제한: 8MB 데이터 크기가 크고 시간에 제약이 없다면 카운팅 정렬을 사용하는 것이 좋다. 코드 import sys N = int(sys.stdin.readline()) array = [0] * 10001 for i in range(N): a = int(sys.stdin.readline()) array[a] += 1 for i in range(10.. 파이썬/코딩 테스트 2023. 11. 3. [Do-it! 코딩 테스트-기초편] 021. 버블 정렬 프로그램 2 - 미해결 문제 https://www.acmicpc.net/problem/1517 1517번: 버블 소트 첫째 줄에 N(1 ≤ N ≤ 500,000)이 주어진다. 다음 줄에는 N개의 정수로 A[1], A[2], …, A[N]이 주어진다. 각각의 A[i]는 0 ≤ |A[i]| ≤ 1,000,000,000의 범위에 들어있다. www.acmicpc.net 접근 코드 설명 파이썬/코딩 테스트 2023. 11. 3. [Do-it! 코딩 테스트-기초편] 020. 수 정렬하기 2 문제 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 접근 데이터 크기: 1,000,000 시간 제한: 2초 정렬 알고리즘 중에 시간 복잡도가 O(N logN) 인 알고리즘 사용 heap sort 와 merge sort quick sort의 평균 시간 복잡도가 O(N logN)이라고는 하지만, 최악의 경우를 고려하면 느린 정렬에 속하기 때문에 시간 초과이다. 코드 import sys def merge_sort(arr): def sor.. 파이썬/코딩 테스트 2023. 11. 3. [Do-it! 코딩 테스트-기초편] 019. k번째 수 구하기 문제 https://www.acmicpc.net/problem/11004 11004번: K번째 수 수 N개 A1, A2, ..., AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 접근 코드 import sys N, K = map(int, sys.stdin.readline().split(' ')) li = list(map(int, sys.stdin.readline().split(' '))) li.sort() print(li[K - 1]) 설명 def quick_sort(array, start, end): if start >= end: return pivot = start left = start + 1 right = end.. 파이썬/코딩 테스트 2023. 11. 3. [Do-it! 코딩 테스트-기초편] 018. ATM 인출 시간 계산하기 문제 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 접근 데이터 크기: 1,000 시간 제한: 1초 데이터의 크기가 크지 않기 때문에 O(N^2) 정렬을 사용해도 됨. 여기서는 삽입 정렬을 사용 코드 import sys N = int(input()) li = list(map(int, sys.stdin.readline().split(' '))) total = 0 for i in range(1, N): for j in range(i, 0, -1): if li[j] < li[j.. 파이썬/코딩 테스트 2023. 11. 3. [Do-it! 코딩 테스트-기초편] 017. 내림차순으로 자릿수 정렬하기 문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 접근 데이터 크기: 10자리 문자열 시간 제한: 2초 데이터의 크기가 작기 때문에 선택정렬 사용 코드 N = list(input()) temp = 0 for j in range(len(N)): max_val = -1 min_index = 0 for i in range(j, len(N)): if int(N[i]) > max_val: max_val = int(N[i]) max_index = i temp = int(N[j]) N[j] = max_val N[max_index] = te.. 파이썬/코딩 테스트 2023. 11. 3. [Do-it! 코딩 테스트-기초편] 016. 버블 정렬 프로그램 1 - 미해결 문제 https://www.acmicpc.net/problem/1377 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 접근 미해결 코드 미해결 설명 미해결 파이썬/코딩 테스트 2023. 11. 3. [Do-it! 코딩 테스트-기초편] 015. 수 정렬하기 1 문제 https://www.acmicpc.net/problem/2750 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 접근 데이터 크기: 1,000 시간 제한: 1초 나열된 수를 정렬하는 방법은 여러가지가 있다. 가장 직관적이고 쉬운 방법인 버블정렬은 O(N^2)의 시간 복잡도를 갖는다. 문제의 데이터의 크기가 1,000이기 때문에 버블정렬을 사용해도 충분하다. 그리고 파이썬 list에 내장된 메서드 sort()와 비교해보도록 한다. 코드 버블정렬 N = int(input()) li = [0] * N temp = .. 파이썬/코딩 테스트 2023. 10. 30. 이전 1 2 3 4 5 다음