본문 바로가기

개인 공부14

[알고리즘] 투 포인터 (Two pointer) 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 투 포인터는 두 가지 상황에서 많이 쓴다. 1. 특정 조건을 만족하는 두 수를 찾을 때. 2. 특정 조건을 만족하는 구간을 찾을 때. + 정렬된 두 배열을 합칠 때 + merge sort (드문 케이스) 1. 특정 조건을 만족하는 두 수를 찾을 때. 예시 문제) 3273번: 두 수의 합 (https://www.acmicpc.net/problem/3273) 1번 예제 (변형) 9 5 12 7 10 9 1 2 14 11 13 문제에서 n이 최대 100,000이기 때문에 완전 탐색을 이용해서 문제를 푼다면 시간 복잡도는 O(n^2)으로 최대 10,000,000,000 (100억)번 연산해야하기 때문에 시간 초과가 발생.. 2024. 1. 18.
[백준] 17845번 : 수강 과목 (C++) 17845번 : 수강 과목 문제) 유니스트 컴퓨터공학과에 다니는 서윤이는 이번에 어떤 과목을 들을지 고민중이다. 학점을 잘 받을 수 있으면서도 중요한 과목을 듣고 싶은 서윤이는 모든 과목의 중요도와, 일정 이상의 학점을 받기 위해 필요한 공부시간을 다 적었다. 처음에는 모든 과목을 들으려고 했던 서윤이는 자신의 공부 시간에 한계가 있다는 것을 깨달았다. 그래서, 공부 시간의 한계를 초과하지 않으면서 과목의 중요도 합이 최대가 되도록 몇 개만 선택하여 수강하기로 마음먹었다. 중요도가 최대가 되도록 과목을 선택했을 때, 최대가 되는 중요도를 출력하는 프로그램을 작성하시오. 입력 : 첫줄에 서윤이의 최대 공부시간 N (1 ≤ N ≤ 10,000), 과목 수 K (1 ≤ K ≤ 1,000)이 공백을 사이에 두고.. 2023. 10. 25.
[백준] 22865번 : 가장 먼 곳 (C++) 22865번 : 가장 먼 곳 문제) N개의 땅 중에서 한 곳에 자취를 하려고 집을 알아보고 있다. 세 명의 친구 A, B, C가 있는데 이 친구들이 살고 있는 집으로부터 가장 먼 곳에 집을 구하려고 한다. 이때, 가장 먼 곳은 선택할 집에서 거리가 가장 가까운 친구의 집까지의 거리를 기준으로 거리가 가장 먼 곳을 의미한다. 예를 들어, X 위치에 있는 집에서 친구 A, B, C의 집까지의 거리가 각각 3, 5, 4이라 가정하고 Y 위치에 있는 집에서 친구 A, B, C의 집까지의 거리가 각각 5, 7, 2라고 하자. 이때, 친구들의 집으로부터 땅 X와 땅 Y 중 더 먼 곳은 땅 X이다. 왜냐하면 X에서 가장 가까운 친구의 집까지의 거리는 3이고, Y에서는 2이기 때문이다. 친구들이 살고 있는 집으로부터 .. 2023. 10. 24.
[개발] 공부하며 정리한 "Delta Time" 개인 공부 후 자료를 남겨놓기 위한 목적이므로, 생략되거나 오류가 있을 수 있음을 알립니다. 잘못된 부분이 있다면 댓글로 상냥하게 가르쳐주시면 감사하겠습니다! "Delta Time"이란 프레임 간의 시간 간격을 의미한다. (1프레임당 시간) 이를 구현하지 않는다면, 다양한 환경에서 프로그램은 일정한 속도로 실행될 수 없다. TimeMgr를 이용하여 Delta Time을 구현해보고, 이를 이용하여 오브젝트가 어느 환경에서든 일정한 속도로 움직일 수 있도록 구현해보자. 보며 공부한 곳! // 어소트락 아카데미 Win32 API 무료강의 https://youtu.be/dlFr-OnHlWU?si=K8UpK8CwSOddqFZ5 델타 타임 구현, 즉 시간 동기화를 위한 매니저인 TimeMgr 클래스를 만들어보자. .. 2023. 10. 24.