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..
최근에 클래스 다이어그램을 그릴 일이 있었는데 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__..
해당 포스팅은 '밑바닥부터 시작하는 딥러닝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..
아주 예전에 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이미지..
오랜만에 윈도우에서 개발을 하려고 환경 설정을 해 주는데 파이썬 가상환경을 만든 후 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..
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..
https://school.programmers.co.kr/learn/courses/30/lessons/42587 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 스택/큐 문제라서 priorities와 index를 묶어서 큐로 만들어 둬야 할 것 같았다. 이렇게 만든 큐를 pop, append 해서 순서를 변경해 주고자 했다. 그리고 만든 큐와 함께 우선순위를 비교 하기 위해 priorities를 우선순위가 높은 순서대로 정렬을 해 줬다. 풀이 순서 if절에서 대기 하고 있는 큐의 첫 원소가 찾으려고 하는 location이면서 내림차순으로 정렬한 우선순위와..
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()..
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..
https://school.programmers.co.kr/learn/courses/30/lessons/42578?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 : 오랜만에 풀었더니.. 알고리즘 사고(?라고 해야 하나.. 머리가 그대로 굳어버렸다... (럴수럴수,,, 해시를 이용하기 위해 딕셔너리를 야심차게 만들었지만 수학적 지식이 부족하여 결국 다른 사람들의 풀이를 보게 되었다.. 새로 알게 된 점 : 경우의 수를 구할 때 A의 종류가 n개, B의 종류가 m개 일 때 모든 경우의 수는 (n+1)(m+1)으로 구할..