Python

Python

__future__ 문 | from __future__ import annotations

python의 __future__ 문 중에서 from __future__ import annotations는 함수나 클래스가 정의될 때 타입 힌트를 평가하지 않고 문자열 형태로 저장한다. 코드 작성과 유지보수가 훨씬 간단해지며 다음과 같은 상황에서 유용하다. 1. forward reference 간소화두 클래스가 서로 참조해야 할 때, 타임 이름을 문자열로 감싸야 'NameError'가 발생하지 않았는데 from __future__ import annotations를 사용하면 문자열로 감쌀 필요가 없다.class A: def __init__(self, b: 'B'): # 문자열로 감싸야 함 self.b = bclass B: def __init__(self, a: 'A'): ..

Algorithm

[프로그래머스] Level1 | 가장 많이 받은 선물 - 파이썬(Python) | 2024 KAKAO WINTER INTERNSHIP

https://school.programmers.co.kr/learn/courses/30/lessons/258712?language=python3 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 제출 코드def solution(friends, gifts): answer = 0 n = len(friends) friend_dict = dict() for i in range(n): friend_dict[friends[i]] = i table = [[0] * n for _ in range(n)] gift_in..

Python

pyreverse | python UML Class Diagram 자동 생성, ubuntu, wsl2에서 pyreverse, pylint 실행

최근에 클래스 다이어그램을 그릴 일이 있었는데 draw.io로 그리려고 했는데 여간 귀찮은 게 아닌게 다른 방법은 없나  찾아보니 python 라이브러리인 pyreverse로 뚝딱 만들 수 있다는 걸 알게 됐다.draw.io를 사용해서 class diagram을 그리면 위와 같이 그릴 수 있다. 하지만 이번에는 pyreverse, pylint를 사용하여 정말 간단하게 그릴 수 있었다.1. pyreverse, pylint 설치pip install pyreversepip install pylintpylint를 설치하면 pyreverse도 같이 설치된다. 2. pyreverse 실행pyreverse -o png ./pyreverse -o [확장자명] [경로]경로에는 diagram을 그릴 폴더의 __init__..

ML & DL

[밑시딥2] Chapter 1. 신경망 복습

해당 포스팅은 '밑바닥부터 시작하는 딥러닝2'를 공부하고 정리, 요약한 글입니다. 모든 내용은 해당 도서를 기준으로 합니다. ◼️ 1.1 수학과 파이썬 복습◾ 1.1.1 벡터와 행렬벡터는 키기와 방향을 가진 양이며 파이썬에서는 1차원 배열로 취급할 수 있다.행렬은 숫자가 2차원 형태(사각형 형상)로 늘어선 것이다.그림 1-1처럼 벡터는 2차원 배열로, 행렬은 2차원 배열로 표현할 수 있다. 행렬에서 가로줄을 행(row)라고 하고 세로줄을 열(column)이라고 한다. 벡터는 표현하는 방법이 두가지 인데, 하나는 숫자들을 세로로 나열하는 방법(열벡터)이고 또 하나는 가로로 나열하는 방법(행벡터)이다.  ◾ 1.1.2 행렬의 원소별 연산import numpy as npW = np.array([[1, 2, 3..

ML & DL

Mediapipe | Mediapipe란?, mediapipe pose estimation, mediapipe holistic estimation, mediapipe python 예제 코드

아주 예전에 mediapipe를 사용하여 프로젝트를 진행한 적이 있는데 정리를 따로 하진 않고 링크만 덕지덕지 정리해 둔 노션 페이지를 보고 블로그에 제대로 정리를 해 두기로 마음 먹었다..!mediapipe란?https://github.com/google-ai-edge/mediapipe?tab=readme-ov-file GitHub - google-ai-edge/mediapipe: Cross-platform, customizable ML solutions for live and streaming media.Cross-platform, customizable ML solutions for live and streaming media. - google-ai-edge/mediapipegithub.com이미지..

각종 에러들을 해결 해 보자

Python | WARNING: Retrying after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.")', 아나콘다 path 설정, Anaconda Path 설정

오랜만에 윈도우에서 개발을 하려고 환경 설정을 해 주는데 파이썬 가상환경을 만든 후 ipynernel을 설치하려고 하니 아래와 같은 문제가 발생했다.WARNING: Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLError("Can't connect to HTTPS URL because the SSL module is not available.") 그래서 pip upgrade를 해 주었는데 아래 경고 문장이 뜨면서 위와 같은 에러가 떴다.WARNING: pip is configured with locations that require TLS/SSL, howe..

Algorithm

[프로그래머스] Level1 | 기사단원의 무기 - 파이썬(Python) | 연습문제

https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 봤을 땐 단순히 for문을 돌려서 약수를 구하면 될 것 같았고 그렇게 코드를 작성했다. 시간 초과 난 정답 def solution(number, limit, power): divs = [] for i in range(1, number+1): div = 0 for j in range(1, i+1): if i % j == 0: div += 1 if div > limit: div = power..

Algorithm

[프로그래머스] Level2 | 프로세스 - 파이썬(Python) | 스택/큐(Stack/Queue)

https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 스택/큐 문제라서 priorities와 index를 묶어서 큐로 만들어 둬야 할 것 같았다. 이렇게 만든 큐를 pop, append 해서 순서를 변경해 주고자 했다. 그리고 만든 큐와 함께 우선순위를 비교 하기 위해 priorities를 우선순위가 높은 순서대로 정렬을 해 줬다. 풀이 순서 if절에서 대기 하고 있는 큐의 첫 원소가 찾으려고 하는 location이면서 내림차순으로 정렬한 우선순위와..

Algorithm

[프로그래머스] Level2 | JadenCase 문자열 만들기 - 파이썬(Python) | 연습문제

https://school.programmers.co.kr/learn/courses/30/lessons/12951 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 생각보다 쉽다고 만만하게 봤지만 런타임 에러 잔뜩 마주한 문제였다. 첫번째 시도 def solution(s): answer = [] check = s.split(' ') for text in check: if text[0].isdigit(): text.lower() answer.append(text) else: answer.append(text[0].upper() + text[1:].lower()..

Algorithm

[프로그래머스] Level1 | 달리기 경주 - 파이썬(Python) | 연습문제

https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제출한 코드 def solution(players, callings): answer = [] for i in range(len(callings)): call_score = players.index(callings[i]) players.pop(call_score) new_score = call_score-1 players.insert(new_score, callings[i]) answer = pl..

토오오끼
'Python' 태그의 글 목록