Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Unreal Engine5
- 팰린드롬 만들기
- 티스토리챌린지
- UnrealEngine4
- GeeksForGeeks
- Programmers
- 줄 세우기
- 2294
- directx
- 백준
- C++
- RootMotion
- algorithm
- 프로그래머스
- 언리얼엔진5
- DirectX11
- 1563
- RVO
- IFileDialog
- NRVO
- DeferredRendering
- Frustum
- UnrealEngine5
- winapi
- softeer
- C
- 오블완
- baekjoon
- const
- UE5
Archives
- Today
- Total
Game Develop
[Algorithm] Programmers :: 구명보트 본문
https://programmers.co.kr/learn/courses/30/lessons/42885?language=cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
int solution(vector<int> people, int limit) {
int answer = 0;
int start = 0;
int end = people.size() - 1;
sort(people.begin(), people.end());
while (start <= end)
{
if (people[start] + people[end] <= limit) // 제한이하면
{
answer++;
start++;
end--;
}
else // 제한넘으면 end줄이면서 체크.
{
answer++;
end--;
}
}
return answer;
}
|
cs |
이 문제에는 투포인터 알고리즘을 이용했다. 투포인터알고리즘은 1차원배열에서 두개의 포인터를 이용하여 원하는 결과를 얻는 알고리즘이다. 나같은 경우 이 문제를 풀기전까지는 모르던 알고리즘이였다.(이름정도만 들어봤었다)
모르는 상태에서 일단 풀기위해 생각했을 때는, 오름차순으로 정렬시킨다음 처음과 끝을 비교하면서 하는식으로 생각했다. (얼추 비슷하게 생각하긴했다)
여기까지 생각하니까 갑자기 투포인터 알고리즘이라는 키워드가 떠올라서 구글링해서 적당히 공부하고 문제를 풀었다. 하고나니까, 문제가 그냥 투포인터알고리즘의 기본예제같이 느껴졌다. 좋은 문제인것 같다.
'Algorithm > Programmers' 카테고리의 다른 글
[Algorithm] Programmers :: 게임 맵 최단거리 (0) | 2022.06.02 |
---|---|
[Algorithm] Programmers :: 단속카메라 (0) | 2022.05.28 |
[Algorithm] Programmers :: 큰 수 만들기 (0) | 2022.05.26 |
[Algorithm] Programmers :: 가장 큰 수 (0) | 2022.05.26 |
[Algorithm] Programmers :: 체육복 (0) | 2022.05.24 |