2025/03/05 2

Sync & Async과 Blocking I/O & Non Blocking I/O

I/O 종류네트워크 (socket)filepipe (프로세스 간)device (키보드와 같은 장치 등등)SyncSynchronous : 동기모든 요청과 응답이 일련의 순서를 따른다.작업의 완료 여부를 호출한 측에서 직접 확인하고, 작업이 끝난 후에 다음 작업을 수행함.AsyncAsynchronous : 비동기작업을 요청한 후 즉시 다음 작업을 수행할 수 있으며, 작업이 완료되면 별도의 콜백 함수나 이벤트를 통해 결과를 확인함.비동기 코드 예제import asyncioasync def async_order1(): print("task1 주문을 처리 중... ") await asyncio.sleep(2) # 2초 대기 (하지만 CPU는 다른 작업 수행 가능) return "아메리카노"asy..

CS/Operating System 2025.03.05

[Level 2 | Python] 이모티콘 할인행사 (2023 KAKAO BLIND RECRUITMENT)

https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제카카오톡에서 이모티콘 할인 행사를 한다. 목표는 다음과 같다.1. 이모티콘 플러스 서비스 가입자를 최대한 늘리기2. 이모티콘 판매액을 최대한 늘리기 (이모티컨 플러스 서비스 가입자가 같다면) 여기서 중요한 점은 이모티콘 할인행사의 할인율은 이모티콘마다 다를 수 있고, 10%, 20%, 30%, 40% 중에 하나이다. 풀이 과정처음에 딱 보고 완전탐색으로 풀 수 있나 시간복잡도를 계산해보았다. 시간복잡도사용자 수 최대 100명, 이모티컨 개수..