๋ฌธ์
ํ์ด ๊ณผ์
์ต๋ 2๋ช
์ด ํ ์ ์๋ ๋ณดํธ๋ฅผ ์ด์ฉํด์ ๋ชจ๋ ์ฌ๋๋ค์ ์ฎ๊ธฐ๋ ์ต์ ์๋ณต ์ด๋ ํ์๋ฅผ ๊ตฌํ๋ ๊ทธ๋ฆฌ๋
๋ฌธ์ ์
๋๋ค.
์ฐ์ ์ฌ๋๋ค์ ๋ชธ๋ฌด๊ฒ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํด์ ๋ณดํธ์ ์์๋๋ก ํ์ฐ๋๋ก ํฉ๋๋ค.
์ฌ๊ธฐ์ ์๊ฐํด๋ณผ ์ ์ people[head] < limit
์ผ ๋ ๋จ์ ์ฌ๋์ limit - people[head]
๋ณด๋ค ์ ์ ๋ชธ๋ฌด๊ฒ ์ค
๊ฐ์ฅ ํฐ ๋ฌด๊ฒ A
๋ฅผ ๊ฐ์ง๋ ์ฌ๋์ ์ ํํ ๊ฒ์ธ์ง ํน์ ๋จ์ ์ฌ๋๋ค ์ค ๊ฐ์ฅ ๋ฌด๊ฒ๊ฐ ์ ๊ฒ ๋๊ฐ๋ ์ฌ๋ B
์ ์ ํํ ๊ฒ์ธ์ง ์
๋๋ค.
์ด๋ A
๋ฅผ ์ ํํ๋ B
๋ฅผ ์ ํํ๋ ์ ํ๋์ง ์์ ๋ค๋ฅธ ํ๋๋ฅผ ์ํด ๋ณดํธ๊ฐ ํ๋ ํ์ํ๋ค๋ ์ฌ์ค์ ๋ณํ์ง ์์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฅ ๋ฌด๊ฒ๊ฐ ๋ง์ด ๋๊ฐ๋ ์ฌ๋์ ๊ฐ๋ฆฌํค๋ ํฌ์ธํฐ head
์ ๊ฐ์ฅ ๋ฌด๊ฒ๊ฐ ์ ์ ์ฌ๋์ ๊ฐ๋ฆฌํค๋ tail
์ ์ฌ์ฉํด์
๋ชจ๋ ์ฌ๋์ ์ฎ๊ธฐ๋๋ฐ ํ์ํ ๋ณดํธ์ ์๋ฅผ ๊ตฌํ๋ฉด ๋ฉ๋๋ค.
์ฝ๋
/**
* @param {number[]} people
* @param {number} limit
* @return {number}
*/
var numRescueBoats = function (people, limit) {
people.sort((a, b) => b - a);
let answer = 0,
head = 0,
tail = people.length - 1;
while (head <= tail) {
if (head < tail && people[head] < limit) {
if (people[tail] <= limit - people[head]) {
tail--;
}
}
head++;
answer++;
}
return answer;
};
'๐ algorithm > leetcode' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
LeetCode 63 - Unique Paths II (Medium) (0) | 2021.03.04 |
---|---|
LeetCode 1011 - Capacity To Ship Packages Within D Days (Medium) (0) | 2021.03.04 |
LeetCode 234 - Palindrome Linked List (Easy) (0) | 2021.03.04 |
LeetCode 309 - Best Time to Buy and Sell Stock with Cooldown (Medium) (0) | 2021.03.04 |
LeetCode 75 - Sort Colors (Medium) (0) | 2021.03.04 |
๐ฌ ๋๊ธ