Skip to content
logo

#python

30 notes

Monkey Patching2024-03-17

몽키 패칭(Monkey Patching)의 개념, 장단점, 활용 사례를 설명하고 런타임에 코드를 수정하는 기법의 실제 적용 방법 소개

GitHub Actions google-protobuf 오류 해결2024-01-15

GitHub Actions에서 발생한 google-protobuf 의존성 오류 진단 및 해결 방법

[lvl3]야근 지수2023-05-17

출처: [Programmers > 코딩테스트 연습 > 연습문제 > 야근 지수](https://school.programmers.co.kr/learn/courses/30/lessons/12927) 회사원 Demi는 가끔은 야근을 하는데요, 야근을 하면 야근 피로도가 쌓입니다. 야근 피로도는 야근을 시작한 시점에서 남은 일의 작업량을 제곱하여 더한 값입니다. Demi는 N시간 동안 야근 피로도를 최소화하도록 일할 겁니다.Demi가 1시간 동안 작업량 1만큼을 처리할 수 있다고 할 때, 퇴근까지 남은 N 시간과 각 일에 대한 작업량...

[lvl3]최고의 집합2023-05-16

출처: [Programmers > 코딩테스트 연습 > 연습문제 > 최고의 집합](https://school.programmers.co.kr/learn/courses/30/lessons/12938) 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다.

[lvl2][Summer/Winder Coding(~2018)]영어 끝말잇기2023-05-01

출처: [Programmers > 코딩테스트 연습 > 연습문제 > Summer/Winder Coding(~2018) > 영어 끝말잇기](https://school.programmers.co.kr/learn/courses/30/lessons/12981) 1부터 n까지 번호가 붙어있는 n명의 사람이 영어 끝말잇기를 하고 있습니다. 영어 끝말잇기는 다음과 같은 규칙으로 진행됩니다.

[lvl3][동적계획법(Dynamic Programming)]정수 삼각형2023-05-01

출처: [Programmers > 코딩테스트 연습 > 연습문제 > 동적계획법(Dynamic Programming) > 정수 삼각형"](https://school.programmers.co.kr/learn/courses/30/lessons/43105) 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다.

[lvl2]옳바른 괄호2023-04-29

](https://school.programmers.co.kr/learn/courses/30/lessons/12909) 괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어

[lvl2]귤 고르기2023-03-19

출처: [Programmers > 코딩테스트 연습 > 연습문제 > 귤 고르기](https://school.programmers.co.kr/learn/courses/30/lessons/138476?language=python3) 경화는 과수원에서 귤을 수확했습니다. 경화는 수확한 귤 중 'k'개를 골라 상자 하나에 담아 판매하려고 합니다. 그런데 수확한 귤의 크기가 일정하지 않아 보기에 좋지 않다고 생각한 경화는 귤을 크기별로 분류했을 때 서로 다른 종류의 수를 최소화하고 싶습니다.

[lvl1]당구연습2023-03-18

출처: [Programmers > 코딩테스트 연습 > 연습문제 > 당구 연습](https://school.programmers.co.kr/learn/courses/30/lessons/169198) 프로그래머스의 마스코트인 머쓱이는 최근 취미로 당구를 치기 시작했습니다.

[lvl2]최댓값과 최솟값2022-09-27

출처: [Programmers > 코딩테스트 연습 > 연습문제 > 최댓값과 최솟값 ](https://school.programmers.co.kr/learn/courses/30/lessons/12939)

[lvl2][2022 KAKAO TECH INTERNSHIP]두 큐 합 같게 만들기2022-08-19

출처: [Programmers > 2022 KAKAO Tech Intership > 두 큐 합 같게 만들기](https://school.programmers.co.kr/learn/courses/30/lessons/118667) 길이가 같은 두 개의 큐가 주어집니다. 하나의 큐를 골라 원소를 추출(pop)하고, 추출된 원소를 다른 큐에 집어넣는(insert) 작업을 통해 각 큐의 원소 합이 같도록 만들려고 합니다. 이때 필요한 작업의 최소 횟수를 구하고자 합니다. 한 번의 pop과 한 번의 insert를 합쳐서 작업을 1회 수행...

[lvl1]소수 만들기2022-08-08

출처: [Programmers > Summer/Winter Coding(~2018) > 소수 만들기](https://school.programmers.co.kr/learn/courses/30/lessons/12977) 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.

[lvl1]내적2022-08-08

출처: [Programmers > 2021 카카오 채용연계형 인턴쉽 > 거리두기 확인하기](https://school.programmers.co.kr/learn/courses/30/lessons/81302) 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요.

[lvl2][2020 KAKAO BLIND RECRUITMENT]문자열 압축2022-08-08

출처: [Programmers > 2020 KAKAO BLIND RECRUITMENT > 문자열 압축](https://school.programmers.co.kr/learn/courses/30/lessons/60057) 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고...

[lvl2][2021 카카오 인턴쉽]거리두기 확인하기2022-08-08

출처: [Programmers > 2021 카카오 채용연계형 인턴쉽 > 거리두기 확인하기](https://school.programmers.co.kr/learn/courses/30/lessons/81302) 개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다.

[lvl1]체육복2022-08-05

출처: [Programmers > 탐욕복(Greedy) > 체육복](https://school.programmers.co.kr/learn/courses/30/lessons/42862) 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이...

[lvl1][2019 카카오 인턴쉽]크레인 인형뽑기 게임2022-08-04

](https://school.programmers.co.kr/learn/courses/30/lessons/64061?language=python3) 게임개발자인 "죠르디"는 크레인 인형뽑기 기계를 모바일 게임으로 만들려고 합니다.

[lvl1][2022_KAKAO_BLIND]신고 결과 받기2022-08-04

](https://school.programmers.co.kr/learn/courses/30/lessons/92334) 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다.

[lvl1][월간 코드 챌린지 시즌2]음양 더하기2022-08-04

출처: [Programmers [월간 코드 챌린지 시즌2]음양 더하기](https://school.programmers.co.kr/learn/courses/30/lessons/76501) 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.

[lvl1][월간 코드 챌린지 시즌3]없는 숫자 더하기2022-08-04

출처: [Programmers [월간 코드 챌린지 시즌3]없는 숫자 더하기](https://school.programmers.co.kr/learn/courses/30/lessons/86051) 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다.

[lvl1]폰켓몬2022-08-03

](https://school.programmers.co.kr/learn/courses/30/lessons/1845) 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.

sql 문제 풀이2022-08-03

출처: [Programmers: 코딩테스트 연습 > sql ](https://school.programmers.co.kr/learn/courses/30/lessons/59034)

[lvl1][카카오 인턴]키패드 누르기2022-08-02

출처: [Programmers [카카오 인턴] 키패드 누르기](https://school.programmers.co.kr/learn/courses/30/lessons/67256) 스마트폰 전화 키패드의 각 칸에 다음과 같이 숫자들이 적혀 있습니다.

LangFlow - 시각적 AI 워크플로우 빌더

LangFlow는 드래그 앤 드롭으로 AI 워크플로우를 구성하는 MIT 라이선스 오픈소스 도구다(68.5k GitHub stars). LangChain 기반으로 RAG, 에이전트, 멀티에이전트 시스템을 시각적으로 설계하고 API로 배포할 수 있으나, 실제로는 low-code 수준의 학습 곡선이 존재한다.

맥북 개발 환경 초기 설정

새 맥북을 받을 때 설치할 필수 도구 목록이다. Homebrew를 기반으로 Raycast, uv(Python), fnm(Node.js), Bun, Docker Desktop을 설치하고, App Store → Homebrew → 공식 웹사이트 순서로 설치를 진행한다.

딥러닝 객체 탐지(Object Detection)

객체 탐지는 Region Proposal → Feature Extraction → NMS 세 단계 파이프라인으로 구성된다. R-CNN에서 시작해 Fast R-CNN, Faster R-CNN(RPN), SSD, YOLO로 발전하며 속도와 정확도를 개선했다. 성능 지표는 mAP(클래스별 AP의 평균)를 사용한다.

misen

misen(mise en place)은 AI 워크플로우의 반복 작업을 Block(dict→dict) 단일 인터페이스로 정의하고 연산자로 조합해 어떤 플랫폼에서든 재사용할 수 있게 하는 Python 라이브러리다. 조합의 결과도 Block이므로 중첩이 자유롭고(닫힘 성질), 플랫폼 어댑터가 LangGraph, MCP, FastAPI 변환을 담당한다.

Transformer 아키텍처

Transformer는 RNN의 기울기 소실과 고정 크기 컨텍스트 벡터 문제를 Attention 메커니즘으로 해결한 아키텍처다. Q-K-V Attention으로 입력 시퀀스 전체에서 중요 정보를 동적으로 가중하며, Positional Encoding으로 위치 정보를 보완한다. 학습 시 Teacher Forcing을 사용해 수렴 속도를 높인다.

Ubuntu 서버 초기 설정

Ubuntu 서버를 새로 받을 때 필수 패키지를 한 번에 설치하는 bash 스크립트다. build-essential, git, curl, tmux 등 기본 도구와 함께 Python용 uv, Docker CE(공식 레포지토리 경유)를 설치하고 사용자를 docker 그룹에 추가한다.

빅데이터분석기사 실기 가이드

빅데이터분석기사(빅분기) 실기는 1유형(데이터 조작), 2유형(머신러닝 파이프라인), 3유형(통계 검정·회귀)으로 구성된다. pandas 명령어, RandomForest 모델링, 가설검정 절차를 숙지하는 것이 핵심이며 Python 환경에서 시험이 진행된다.