본문 바로가기

전체 글38

[Leetcode 881번 문제] 881. Boats to Save People 문제 설명사람 배열이라는게 존재함. 모든 사람들을 보트에 태워야한다. 보트에는 최대 2명이 탈 수 있고 그 두명의 무게의 합은 최대 중량 limit을 초과할 수 없다. 보트가 무한할때 이 인원들을 태울 수 있는 보트의 최소 숫자를 구해라.입력1이상 5만 이하의 사람배열각 사람의 무게는 limit과 3만보다 작고 1보다 큰 정수이다출력정수, 보트의 최소 개수과정보트를 태운다.배열이 나에게 아주 호의적인 상황이라면 (모든 탑승자의 크기가 limit / 2) 답은 뭐 나누기 2의 몫과 같음. 이 문제는 그렇지않음 보트의 수는 무한하다는것도 특징이다.그럼 이상적인상황을 만드는 방법을 구해야했다. 각 보트에 탈 수 있는 인원은 2명이 최대니까정렬해놓고 투포인터로 최소 무게 인원과 최대 무게 인원을 더해보는 방식을.. 2024. 5. 4.
[C++] 포인터, 참조 포인터는 C하면 가장 큰 특징으로 생각되는 용어다. 그만큼 질문도 많고 내용도 많다. 그러다보니 겉핥기만 허게되기 십상이다.우선 내가 여태까지 생각하던 포인터는 무엇인지 생각해 봤다.포인터는 데이터가 저장된 메모리를 가리키는 데이터인가포인터는 어떤 의미에선 참조와 비슷한 역할을 한다. 참조 역시 데이터가 저장된 메모리의 정보를 가지고 있다. 이렇게 되면 참조는 포인터와 대조군이다 그럼 참조랑 포인터는 정확히 뭐가 다를까.일단 내가 아는바에 따르면 참조는 선언과 초기화가 동시에 일어나며 한번 초기화하면 다시 초기화 할 수 없다.반면 포인터는 한번 변수를 초기화하고 다시 초기화 할 수 있으며 null값을 가질 수도 있다. G쌤한테 이걸 물어도 크게 틀렸다고 말하진 않았다. 그래도 궁금한건 왜 그런가였다. 아.. 2024. 5. 3.
[미디어 서버] 대환장 미디어 서버 제작 프로젝트로 실시간 미디어 스트리밍 서비스를 만들고자 했다. 일단 처음엔 기세좋게 kurento서버를 미디어서버로 두고 통신을 하려했으나 문제가 한 두개가 아니었다. 일단 납기 문제가 제일 중요하기 때문에 빠르게 기존의 방식을 버리고 갈아타기로했다. 다른 방식이 예제가 많은 nginx방식인데 많이들 한다는 점에서 쉬운점이 있겠으나 한 번도 안써봤으니 예상못한 문제로 터져버릴 수도 있을 것 같았다. 그런 점에서 이번엔 하나하나 문제점을 써가면서 풀어가기로했음 일단 시나리오는 스트리머가 서버에 방을 만들겠다고 요청을 보냄서버가 채널을 열어줌스트리머가 자신의 미디어 내용을 보냄이렇게 하려했고 빠르게 G쌤과 대화했다나는 nginx로 실시간 미디어 서버를 하기로 결정했어내 지금 시나리오상으론 두개가 필요해 [스트리.. 2024. 5. 2.
[C++] RTTI 한 개의 개념을 이해하기 위해선 절대적인 정의가 중요한게 아니라 상대적인 관계 속 위치가 중요하다.RTTI의 정의아예 RTTI에 대해서 아예 몰랐을 때 이렇게 정의해봤다RTTI는 실행시간에 일어나는 타입 결정자다. G쌤은 이 말에 대해서 틀렸다고 한다RTTI(Run-Time Type Information)는 "타입 결정자"라고 부르기보다는 "타입 식별자"나 "타입 정보 제공자"에 더 가깝습니다. "타입 결정자"라는 표현은 변수나 객체의 타입을 선언하거나 초기화할 때 사용되는 개념과 혼동될 수 있습니다. 예를 들어, 프로그램 코드에서 변수를 선언할 때 사용하는 타입(int, float 등)은 그 변수의 타입을 "결정"합니다.반면, RTTI는 프로그램이 실행 중일 때 객체의 타입 정보를 조회하거나, 객체 간.. 2024. 4. 26.