LeetCode 2270: 누적합을 활용한 배열 분할 조건 탐색
문제 이해LeetCode 2270번 Split Array Largest Sum과 유사한 조건으로, 배열을 두 부분으로 나누었을 때 왼쪽 구간의 합이 오른쪽 구간의 합 이상이 되는 분할 지점의 개수를 구하는 문제입니다.길이가 n인 배열 nums에서 인덱스 i (0 ≤ i < n-1)를 기준으로 분할할 때, 다음 조건을 만족하면 유효한 분할입니다:sum(nums[0..i]) ≥ sum(nums[i+1..n-1])핵심 관찰전체 ...
6월 6일 21:21에 게시됨
Python WSGI로 REST 엔드포인트 구축하기
REST 아키텍처는 HTTP의 기본 메서드를 활용해 자원을 다루는 대표적인 설계 패턴이다. 이번 글에서는 표준 라이브러리만으로 경량 REST 서비스를 구현하고, 외부에서 이를 호출하는 방법을 살펴본다.
전체 흐름 설계
구현할 서비스는 다음 두 가지 엔드포인트를 제공한다.
/greet — 이름을 받아 인사말 HTML을 반환
/now — 현재 시각 정보를 XML로 반환
핵심 구성 ...
6월 6일 18:49에 게시됨
파이썬에서 pyautogui를 이용한 마우스와 키보드 제어
모듈 설치
Windows: 추가 설치 불필요
macOS: sudo pip3 install pyobjc-core pyobjc-framework-Quartz
Ubuntu: sudo apt-get install scrot python3-tk python3-dev && sudo pip3 install python3-xlib
설치: pip install pyautogui (모든 OS)
안전 주의사항
긴급 중단: Ctrl-Alt-Del(Windows/Linux) 또는 ⌘-Shift-Option-Q(macOS)
실행 간격 설정: pyautogui.PAUSE = 1 ...
6월 6일 17:53에 게시됨
ROS에서 서비스 클라이언트와 서버 구현하기
서비스 기반 통신 개요
ROS에서는 토픽(Topic) 외에도 서비스(Service)를 통해 노드 간 동기식 요청-응답 방식의 통신을 지원합니다. 이 방식은 클라이언트가 특정 작업을 요청하면 서버가 이를 처리하고 결과를 반환하는 모델입니다.
기능 패키지 생성
먼저, 새로운 ROS 패키지를 생성합니다. 아래 명령어는 의존성으로 roscpp, rospy, std_msgs, geometry_msgs, turtles ...
6월 6일 16:04에 게시됨
반悔 힙 그리디를 활용한 최대 이익 매칭 알고리즘
문제 A: 사과 구매
기본적인 나눗셈 연산을 통해 해결할 수 있는 간단한 문제입니다.
n, x = map(int, input().split())
result = n // x
print(result)
문제 B: 소의 분류
문자열의 빈도수를 기준으로 다양한 경우의 수를 분석해야 합니다.
from collections import Counter
data = input().strip()
frequency = sorted(Counter(data).values())
length = len(frequency ...
6월 6일 02:33에 게시됨
Python 패키지 개발과 배포를 위한 setup.py 활용
1. 프로젝트 디렉터리 구조 구성
모듈화된 Python 패키지를 제작하기 위해 아래와 같은 디렉터리 구조를 준비한다. 각 하위 모듈은 별도의 서브패키지(suba, subb)로 정의되며, __init__.py 파일을 포함하여 Python에서 인식 가능한 패키지로 만든다.
.
├── setup.py
├── suba
│ ├── __init__.py
│ ├── aa.py
│ └── bb.py
└── subb
├── __init__.py
├── c ...
6월 5일 20:58에 게시됨
파일 처리 방법
파일 열기 두 가지 방법
============
방법 1: 파일을 열고 핸들에 할당하여 파일 조작
핸들 = open(파일 경로, 모드, 인코딩)
여기서 모드는 다음과 같습니다:
'r' 읽기 전용 모드 - 쓰기 불가능
'w' 쓰기 전용 모드 - 읽기 불가능
'a' 추가 전용 모드 - 파일의 끝에 내용 추가
방법 2: with 키워드 사용으로 자동으로 파일을 열고 닫음
파일 읽기 및 쓰기 방법
====== ...
6월 5일 19:58에 게시됨
파이썬으로 XLSX 파일 읽고 쓰기
엑셀 파일 처리를 위한 라이브러리 선택
Python에서 Excel 파일을 다룰 때 주로 사용하는 라이브러리는 openpyxl입니다. 이 라이브러리는 .xlsx 형식의 파일만 지원하며, 읽기 및 쓰기 모두 가능합니다. 또한 수식 삽입, 스타일 설정 등 고급 기능도 제공합니다.
샘플 데이터 준비
다음과 같은 구조의 apis.xlsx 파일이 존재합니다:
name
method
...
6월 5일 16:05에 게시됨
ECT-OS-JiuHuaShan 시스템을 통한 소프트웨어 개발 패러다임의 변화
개발자들의 업무 환경을 개선하기 위해 도입된 ECT-OS-JiuHuaShan 프레임워크는 기존 프로세스에서 발견되던 여러 한계를 해결하여 여섯 가지 주요 영역에서 생산성을 극대화합니다.1. 디버깅 중심의 작업 사이클 탈피기존의 소프트웨어 공학은 실패와 수정의 반복을 전제로 하지만, 이 프레임워크는 인과관계가 완전히 검증된 코드를 생성합니다. 실행 결과와 수학적 모델 ...
6월 4일 22:54에 게시됨
BP 신경망 구현을 위한 기본 알고리즘
신경망 초기화
def initialize_network(input_size, hidden_layers, output_size):
layer_sizes = [input_size] + hidden_layers + [output_size]
network = {}
for i in range(1, len(layer_sizes)):
network[f'W{i}'] = np.random.randn(layer_sizes[i], layer_sizes[i-1]) * np.sqrt(2.0 / (layer_sizes[i-1] + layer_sizes[i]))
network ...
6월 4일 19:22에 게시됨