분류 전체보기 77

커널(Kernel)

운영체제의 핵심으로, 하드웨어 자원을 안전하게 관리하고 유저 프로세스가 이를 "System Call"을 통해 사용할 수 있도록 해주는 역할커널의 위치- 운영체제의 가장 아래 계층 (하드웨어 바로 위에서 동작)커널의 종류- 모놀리식 커널 (Monolithic Kernel)- 마이크로커널 (Microkernel)- 하이브리드 커널 (Hybrid Kernel)→ 리눅스 커널은 모놀리식 커널에 속함.System Call- 응용 프로그램(유저 모드)이 운영체제의 커널 기능을 요청할 때 사용하는 인터페이스.System Call 동작 흐름[응용 프로그램 (User Mode)] ↓ System Call 호출 ↓ 커널 모드로 전환 (권한 상승) ↓ 커널이 요청 수행 (예:..

CS/운영체제 2025.10.17

asyncio를 pip install 한 대가

오늘은 서비스 배포중 발생한 굉장히 있으면 안될 이슈에 대해 작성해보고자한다. 문제상황빌드가 잘되던 도커에서 pip 가 requirements.txt 설치하는 과정에서 문제가 발생한 것이다.#11 68.49 Traceback (most recent call last):#11 68.49 File "/usr/local/lib/python3.9/py_compile.py", line 144, in compile#11 68.49 code = loader.source_to_code(source_bytes, dfile or file,#11 68.49 File "", line 913, in source_to_code#11 68.49 File "", line 228, in _call_with_frame..

Python 2025.04.29

김밥천국의 계단

🍙 백준 28282 - 미니김밥 천국 처음엔 BFS/DFS 문제인 줄 알았는데, 알고 보니 정확히 K번의 행동으로 N번 계단에 도달 가능한지를 묻는 DP 문제였다. DFS는 시간 초과, BFS는 메모리 초과, 슬라이딩 윈도우도 모두 실패… 결국 DP로 갈아탐. 🚀 문제 핵심 정리 0번 계단에서 시작 총 K번 행동 가능 행동 종류: 1칸 걷기 → i → i+1 워프 → i → i + floor(i/2) 정확히 K번 행동해서 N번 계단에 도달하면 "minigimbob", 아니면 "water" 출력 🧠 접근 방식 - 1차원 DP dp[i] = i번 계단에 도달하는 최소 행동 수 를 저장하..

Python/algorithm 2025.04.24

프로그래머스 신규 아이디 추천

📝 TIL - 프로그래머스 신규 아이디 추천 📌 문제 요약 사용자로부터 입력된 아이디가 조건에 맞지 않을 경우, 주어진 규칙에 따라 새로운 아이디를 추천하는 문제입니다. 📚 학습 내용 정규표현식을 활용한 문자열 정제 조건문과 슬라이스를 활용한 문자열 길이 조정 문자열의 시작/끝에서 특정 문자 제거 (마침표) 로직을 함수로 분리하여 재사용성 및 가독성 향상 🔧 주요 로직 요약 모든 대문자를 소문자로 변환 허용되지 않은 문자 제거 연속된 마침표는 하나로 축약 시작/끝에 위치한 마침표 제거 빈 문자열이면 "a"로 대체 길이가 16자 이상이면 자르고, 끝이 마침표면 제거 길이가 2자 이하이면 마지막 문자를 반복하여 길..

Python/algorithm 2025.04.21

N초 동안 가능한 스킬 조합 수 구하기

🧠 TIL - DP로 N초 동안 가능한 스킬 조합 수 구하기 오늘은 스킬의 사용 시간 제약이 있는 조합 문제를 DP로 해결해봤다. 핵심은 dp[i]가 “i초를 채우는 방법의 수”를 의미한다는 점이다. 📌 문제 요약 스킬 A: 1초 스킬 B: m초 총 N초를 정확히 채울 수 있는 모든 조합의 수를 구하라 결과는 1,000,000,007로 나눈 나머지 출력 📄 핵심 점화식 dp[i] = dp[i - 1] + dp[i - m] (단, i ≥ m) 🔍 코드 설명 nanoom = 1_000_000_007dp = [0] * (n + 1)dp[0] = 1 # 0초는 아무 것도 안 쓰는 1가지 방법for i in range(1, n + 1): dp..

Python/algorithm 2025.04.20

JadenCase 문자열 처리[프로그래머스]

🧠 TIL - JadenCase 문자열 처리 오늘은 문자열을 JadenCase로 바꾸는 문제를 풀었다. 핵심은 단어별로 첫 글자는 대문자, 나머지는 소문자로 만드는 거고, 숫자로 시작하는 경우는 소문자만 처리하면 된다. 📌 예시 input : "3people unFollowed me"output: "3people Unfollowed Me" 💡 핵심 로직 def solution(s): answer = '' for i in s.split(" "): if i == "": answer += " " elif i[0].isalpha(): answer += i[0].upper() + i[1:].lower..

Python/algorithm 2025.04.16

과자 나눠주기 [백준]

🧠 TIL - 이진탐색 과자 나눠주기 오늘은 다시 한 번 이진탐색 개념을 정리했다. 직접 구현할 땐 while문 범위나 mid 조정에서 종종 헷갈려서, 이번에 완전히 패턴을 잡아놔야겠다고 생각했다. 📌 개념 이진 탐색은 정렬된 탐색 범위 내에서 특정 조건을 만족하는 값을 찾는 방식이다. 중간값(mid)을 기준으로 탐색 범위를 반씩 줄여가며, 조건을 만족하는지 확인하고 범위를 조정한다. 🧩 기본 구조 start = 최소값end = 최대값answer = 0while start ❓ 왜 이렇게 하는가 start : 탐색이 끝나기 전까지 조건을 만족: 일단 저장하고 더 큰 쪽 탐색 조건 불만족: 무조건 줄여야 하니까 end 감소 ..

Python/algorithm 2025.04.14

백준 병든 나이트

링크: https://www.acmicpc.net/problem/1783📌 문제 요약나이트가 체스판 위에서 이동할 수 있는데, 병들어서 **2가지 방향으로만 이동 가능**함.단, 방문 횟수에 따라 **움직일 수 있는 방향 제약 조건**이 있음.나이트는 총 4가지 방식으로 이동 가능 (실제론 2가지)세로로는 위로만 이동함총 이동 횟수에 따라 4가지 이동 방식 중 적어도 3가지 이상을 사용해야 제약이 풀림📌 분기높이 H가 1 → 움직일 수 없음 (정답: 1)H가 2 → 위로 2칸 못 가니까 최대 4번까지만 가능 (이동 방식 제한)H ≥ 3 and W 그 외에는 자유롭게 이동 가능 → W - 2칸까지 가능💻 코드n,m = map(int, input().split())def solution(n, m): ..

Python/algorithm 2025.04.13

[OpenAI Agent] 편지 작성 에이전트 ( 멀티 에이전트 )

프로젝트에 있는 코어 기능 중 하나인 편지 작성 기능은 처음에 단일 에이전트를 사용하고 있었고,편지 내용이 약간 어색한 부분이 있는 듯하여 고도화가 필요해 보였습니다 여기서 저는 Multi Agent구조를 통해 이를 개선 할 수 있지 않을까 라는 생각을 했습니다.왜 편지 작성에 멀티 에이전트를 사용했는가? 1  . 언어별 표현 방식과 문화 차이 대응 위에서 말한 어색한 편지 내용은 한국어,영어,일본어 등 언어별로 표현하는 방법이나 문화, 뉘앙스가 달라서 각 언어별로 다릅니다.때문에 각 언어별 지시사항을 가진 Agent들을 handoffs 로 두고  Letter Agent가 전달받은 Language 값에 따라 각 언어별 에이전트에 편지 작성을 위임하게 했습니다.class KoreanLanguageAgent..