본문 바로가기

분류 전체보기72

[BOJ] 백준 1476번 날짜 계산 - 파이썬(Python) 1476번: 날짜 계산 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타 www.acmicpc.net 문제 준규가 사는 나라는 우리가 사용하는 연도와 다른 방식을 이용한다. 준규가 사는 나라에서는 수 3개를 이용해서 연도를 나타낸다. 각각의 수는 지구, 태양, 그리고 달을 나타낸다. 지구를 나타내는 수를 E, 태양을 나타내는 수를 S, 달을 나타내는 수를 M이라고 했을 때, 이 세 수는 서로 다른 범위를 가진다. (1 ≤ E ≤ 15, 1 ≤ S ≤ 28, 1 ≤ M ≤ 19) 우리가 알고있는 1년은 준규가 살고있는 나라에서는 1 1 1로 나타낼 수 있다. 1년이 지.. 2023. 1. 21.
메시지 큐(Message Queue) 메시지 큐(Message Queue)란? 메시지 큐(Message Queue)는 프로세스 또는 프로그램 간에 데이터를 교환할 때 사용하는 통신 방법 중에 하나로, 메시지 지향 미들웨어(Message Oriented Middleware:MOM)를 구현한 시스템을 의미한다. 메시지 지향 미들웨어란 비동기 메시지를 사용하는 응용 프로그램들 사이에서 데이터를 송수신하는 것을 의미한다. 여기서 메시지란 요청, 응답, 오류 메시지 혹은 단순한 정보 등의 작은 데이터가 될 수 있다. 메시지 큐는 메시지를 임시로 저장하는 간단한 버퍼라고 생각하면 된다. 메시지를 전송 및 수신하기 위해 중간에 메시지 큐를 두는 것이다. 메시지 전송 시 생산자(Producer)로 취급되는 컴포넌트가 메시지를 메시지 큐에 추가한다. 해당 .. 2022. 12. 15.
[Kotlin] 코틀린 코틀린 intellj, pycharm 등의 IDE 툴을 만든 Jetbrains 에서 개발한 언어로 2011년에 발표되었고, 2017년에 구글에서 안드로이드 공식언어로 선택 되었습니다. 코틀린은 자바를 대체할 수 있는 언어로 다양한 프로그래밍이 가능한 멀티 플랫폼 입니다. Kotlin/JVM - 자바 가상 머신 상세서 동작하는 앱(자바앱/ 안드로이드앱) 개발 Kotlin/JS - 자바스크립트에 의해 DB부터 서버, 클라이언트까지 다루는 풀스택 웹 개발 Kotlin/Native - 안드로이드와 IOS뿐만 아니라 임베디드, IoT 등 앱 개발 즉, 서버, 안드로이드 등 자바가 실행되는 모든 곳에서 사용 할 수 있다. 코틀린 특징 정적 타입 지정 언어 컴파일 시 변수의 자료형(Type)이 결정되어 안전 - 자바.. 2022. 11. 3.
뮤텍스(Mutex)와 세마포어(Semaphore) 공유된 자원에 여러 프로세스가 동시에 접근하면서 문제가 발생할 수 있습니다. 이때 공유된 자원의 데이터는 한 번에 하나의 프로세스만 접근할 수 있도록 제한을 두어야합니다. 뮤텍스(Mutex)와 세마포어(Semaphore)는 이를 위해 고안된 기법으로 서로 다른 방식으로 상호배제를 합니다. 임계 구역(Critical section) 임계 구역은 다수의 프로세스가 데이터를 공유하며 실행되는 상황에서 각 프로세스가 공유 자원에 접근하는 코드 블록을 의미합니다. 공유 데이터를 여러 프로세스가 동시에 접근할 때 잘못된 결과를 만들 수 있기 때문에, 한 프로세스가 임계 구역을 수행할 때는 다른 프로세스가 접근하지 못하도록 해야 합니다. 뮤텍스(Mutex) 한 쓰레드, 프로세스에 의해 소유될 수 있는 Key를 기반으.. 2022. 10. 20.
[Python] 파이썬 GC(Garbage Collector) 1. Garbage Collection(가비지 컬렉션)이란? 프로그램을 개발 하다 보면 유효하지 않은 메모리인 가바지(Garbage)가 발생합니다. C언어의 경우 개발자가 malloc() ,free()라는 함수를 통해 직접 메모리를 해제해주어야 합니다.가비지 컬렉션이란 프로그램이 동적으로 할당했던 메모리 영역 중에서 필요없게 된 영역(Garbage)을 해제하는 기능입니다. 2. Python에서 GC 파이썬에선 기본적으로 참조 횟수가 0이 된 객체를 메모리에서 해제하는 레퍼런스 카운팅 방식을 사용합니다. 하지만, 참조 횟수가 0은 아니지만 도달할 수 없지만, 상태인 reference cycles(순환 참조)가 발생했을 때는 별도의 알고리즘을 통해 상황을 해결합니다. 2.1. 레퍼런스 카운팅 모든 객체는 참.. 2022. 9. 29.
[BOJ] 백준 2470번 두 용액 - 파이썬(Python) 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 문제 KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다. 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있다. 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다. 같은 양의 두 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다. 이 연.. 2022. 9. 22.