๊ฐ๋ /์๊ณ ๋ฆฌ์ฆ
[Algorithms] 1์ผ 1Algorithms 9์ผ์ฐจ (746. Min Cost Climbing Stairs)
746. Min Cost Climbing Stairs ๋น์ฉ[i]์ด ๊ณ๋จ์์ i๋ฒ์งธ ๋จ๊ณ์ ๋น์ฉ์ธ ์ ์ ๋ฐฐ์ด ๋น์ฉ์ด ์ฃผ์ด์ง๋๋ค. ๋น์ฉ์ ์ง๋ถํ๋ฉด ํ ๊ณ๋จ ๋๋ ๋ ๊ณ๋จ์ ์ค๋ฅผ ์ ์์ต๋๋ค. ์ธ๋ฑ์ค๊ฐ 0์ธ ๋จ๊ณ์์ ์์ํ๊ฑฐ๋ ์ธ๋ฑ์ค๊ฐ 1์ธ ๋จ๊ณ์์ ์์ํ ์ ์์ต๋๋ค. ๋ฐ๋ฅ ๊ผญ๋๊ธฐ์ ๋๋ฌํ๊ธฐ ์ํ ์ต์ ๋น์ฉ์ ๋ฐํํฉ๋๋ค. Input, Output Input: cost = [10,15,20] Output: 15 Explanation: ์ธ๋ฑ์ค 1์์ ์์ํฉ๋๋ค. - 15๋ถ์ ๋ด๊ณ 2๊ณ๋จ์ ์ฌ๋ผ๊ฐ๋ฉด ์ ์์ ๋์ฐฉํฉ๋๋ค. ์ด ๋น์ฉ์ 15์ ๋๋ค. Input: cost = [1,100,1,1,1,100,1,1,100,1] Output: 6 Explanation: ์ธ๋ฑ์ค 0์์ ์์ํฉ๋๋ค. - 1์ ์ง๋ถํ๊ณ ๋ ๊ณ๋จ์ ์ฌ..
[Algorithms] 1์ผ 1Algorithms 8์ผ์ฐจ (509. Fibonacci Number)
509. Fibonacci Number ์ผ๋ฐ์ ์ผ๋ก F(n)์ผ๋ก ํ์๋๋ ํผ๋ณด๋์น ์๋ ํผ๋ณด๋์น ์์ด์ด๋ผ๊ณ ํ๋ ์์ด์ ํ์ฑํ๋ฏ๋ก ๊ฐ ์๋ 0๊ณผ 1์์ ์์ํ๋ ์์ ๋ ์์ ํฉ์ ๋๋ค. F(0) = 0, F(1) = 1 F(n) = F(n - 1) + F(n - 2), for n > 1. n์ด ์ฃผ์ด์ง๋ฉด F(n)์ ๊ณ์ฐํฉ๋๋ค. Input, Output Input: n = 2 Output: 1 Explanation: F(2) = F(1) + F(0) = 1 + 0 = 1. Input: n = 3 Output: 2 Explanation: F(3) = F(2) + F(1) = 1 + 1 = 2. Input: n = 4 Output: 3 Explanation: F(4) = F(3) + F(2) = 2 + 1 = 3..
[Algorithms] 1์ผ 1Algorithms 7์ผ์ฐจ (128. Longest Consecutive Sequence)
128. Longest Consecutive Sequence ์ ๋ ฌ๋์ง ์์ ์ ์ ๋ฐฐ์ด์ด ์ฃผ์ด์ง๋ฉด ๊ฐ์ฅ ๊ธด ์ฐ์ ์์ ์ํ์ค์ ๊ธธ์ด๋ฅผ ๋ฐํํฉ๋๋ค. O(n) ์๊ฐ์ ์คํ๋๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ฑํด์ผ ํฉ๋๋ค. Input, Output Input: nums = [100,4,200,1,3,2] Output: 4 Explanation: ๊ฐ์ฅ ๊ธด ์ฐ์ ์์ ์ํ์ค๋ [1, 2, 3, 4]์ ๋๋ค. ๋ฐ๋ผ์ ๊ธธ์ด๋ 4์ ๋๋ค. Input: nums = [0,3,7,2,5,8,4,6,0,1] Output: 9 Constraints 0
[Algorithms] 1์ผ 1Algorithms 6์ผ์ฐจ (135. Candy)
135. Candy n๋ช ์ ์์ด๋ค์ด ์ค์ ์๊ณ ์์ต๋๋ค. ๊ฐ ํ์์๋ ์ ์ ๋ฐฐ์ด ๋ฑ๊ธ์ ์ง์ ๋ ๋ฑ๊ธ ๊ฐ์ด ํ ๋น๋ฉ๋๋ค. ๋ค์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ์ด๋ฌํ ์ด๋ฆฐ์ด์๊ฒ ์ฌํ์ ์ฃผ๊ณ ์์ต๋๋ค. ๊ฐ ์ด๋ฆฐ์ด๋ ์ ์ด๋ ํ๋์ ์ฌํ์ ๊ฐ์ง๊ณ ์์ด์ผ ํฉ๋๋ค. ์ ์๊ฐ ๋์ ์์ด๋ค์ ์ด์๋ณด๋ค ๋ ๋ง์ ์ฌํ์ ๋ฐ์ต๋๋ค. ์์ด๋ค์๊ฒ ์ฌํ์ ๋๋ ์ฃผ๊ธฐ ์ํด ํ์ํ ์ต์ํ์ ์ฌํ ์๋ฅผ ๋ฐํํฉ๋๋ค. Input, Output Input: ratings = [1,0,2] Output: 5 Explanation: ์ฒซ ๋ฒ์งธ, ๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ ์๋ ์๊ฒ ๊ฐ๊ฐ 2, 1, 2๊ฐ์ ์ฌํ์ ํ ๋นํ ์ ์์ต๋๋ค. Input: ratings = [1,2,2] Output: 4 Explanation: ์ฒซ ๋ฒ์งธ, ๋ ๋ฒ์งธ, ์ธ ๋ฒ์งธ ์๋ ์๊ฒ ๊ฐ๊ฐ 1, 2, ..
[Algorithms] 1์ผ 1Algorithms 5์ผ์ฐจ (376. Wiggle Subsequence)
376. Wiggle Subsequence ํ๋ค๊ธฐ ์ํ์ค๋ ์ฐ์๋ ์ซ์ ๊ฐ์ ์ฐจ์ด๊ฐ ์์์ ์์๋ฅผ ์๊ฒฉํ๊ฒ ๋ฒ๊ฐ์ ๊ฐ๋ฉฐ ๋ํ๋๋ ์ํ์ค์ ๋๋ค. ์ฒซ ๋ฒ์งธ ์ฐจ์ด(์กด์ฌํ๋ ๊ฒฝ์ฐ)๋ ์์ ๋๋ ์์์ผ ์ ์์ต๋๋ค. ํ๋์ ์์๊ฐ ์๋ ์ํ์ค์ ๋ ๊ฐ์ ๊ฐ์ง ์์ ์์๊ฐ ์๋ ์ํ์ค๋ ์ฝ๊ฒ ํ๋ค๋ฆด ์ ์๋ ์ํ์ค์ ๋๋ค. ์๋ฅผ ๋ค์ด, [1, 7, 4, 9, 2, 5]๋ ์ฐจ์ด(6, -3, 5, -7, 3)๊ฐ ์์์ ์์ ์ฌ์ด์์ ๋ฒ๊ฐ์ ๋ํ๋๊ธฐ ๋๋ฌธ์ ํ๋ค๊ธฐ ์ํ์ค์ ๋๋ค. ๋์กฐ์ ์ผ๋ก, [1, 4, 7, 2, 5] ๋ฐ [1, 7, 4, 5, 5]๋ ํ๋ค๊ธฐ ์ํ์ค๊ฐ โโ์๋๋๋ค. ์ฒซ ๋ฒ์งธ๋ ์ฒ์ ๋ ๊ฐ์ ์ฐจ์ด๊ฐ ์์์ด๊ธฐ ๋๋ฌธ์ด ์๋๋ฉฐ ๋ ๋ฒ์งธ๋ ๋ง์ง๋ง ์ฐจ์ด๊ฐ 0์ด๊ธฐ ๋๋ฌธ์ด ์๋๋๋ค. ํ์ ์ํ์ค๋ ์๋ ์ํ์ค์์ ์ผ๋ถ ..
[Algorithms] 1์ผ 1Algorithms 4์ผ์ฐจ (1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts)
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts h x w ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ ์ผ์ดํฌ์ ๋ ๊ฐ์ ์ ์ํ horizontalCuts ๋ฐ verticalCuts ๋ฐฐ์ด์ด ์ ๊ณต๋ฉ๋๋ค. ์ฌ๊ธฐ์: horizontalCuts[i]๋ ์ง์ฌ๊ฐํ ์ผ์ดํฌ์ ์๋จ์์ i๋ฒ์งธ ์ํ ์ ๋จ๊น์ง์ ๊ฑฐ๋ฆฌ์ ์ ์ฌํ๊ฒ, verticalCuts[j]๋ ์ง์ฌ๊ฐํ ์ผ์ดํฌ์ ์ผ์ชฝ์์ j๋ฒ์งธ ์์ง ์ ๋จ๊น์ง์ ๊ฑฐ๋ฆฌ์ ๋๋ค. HorizontalCuts ๋ฐ verticalCuts ๋ฐฐ์ด์ ์ ๊ณต๋ ๊ฐ ์ํ ๋ฐ ์์ง ์์น์์ ์๋ฅธ ํ ์ผ์ดํฌ ์กฐ๊ฐ์ ์ต๋ ๋ฉด์ ์ ๋ฐํํฉ๋๋ค. ๋ต์ ํฐ ์๊ฐ ๋ ์ ์์ผ๋ฏ๋ก ์ด ๋ชจ๋๋ก 109 + 7์ ๋ฐํํฉ๋๋ค. Input, Output Input: h..
[Algorithms] 1์ผ 1Algorithms 3์ผ์ฐจ (1710. Maximum Units on a Truck)
1710. Maximum Units on a Truck ๋น์ ์ ํ ๋์ ํธ๋ญ์ ์ผ์ ๋์ ์์๋ฅผ ์ค์ด์ผ ํฉ๋๋ค. 2D ๋ฐฐ์ด boxTypes๊ฐ ์ฃผ์ด์ง๋๋ค. ์ฌ๊ธฐ์ boxTypes[i] = [numberOfBoxesi, numberOfUnitsPerBoxi]: numberOfBoxesi๋ i ์ ํ์ ์์ ์์ ๋๋ค. numberOfUnitsPerBoxi๋ i ์ ํ์ ๊ฐ ์์์ ์๋ ๋จ์ ์์ ๋๋ค. ๋ํ ํธ๋ญ์ ๋ฃ์ ์ ์๋ ์ต๋ ์์ ์์ธ ์ ์ TruckSize๊ฐ ์ ๊ณต๋ฉ๋๋ค. ์์์ ์๊ฐ TruckSize๋ฅผ ์ด๊ณผํ์ง ์๋ ํ ํธ๋ญ์ ๋์ ์์๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ํธ๋ญ์ ์ค์ ์ ์๋ ์ต๋ ์ด ๋จ์ ์๋ฅผ ๋ฐํํฉ๋๋ค. Input, Output Input: boxTypes = [[1,3],[2,2],[3,1]],..
[Algorithms] 1์ผ 1Algorithms 2์ผ์ฐจ (462. Minimum Moves to Equal Array Elements II)
462. Minimum Moves to Equal Array Elements II ํฌ๊ธฐ๊ฐ n์ธ ์ ์ ๋ฐฐ์ด ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ฉด ๋ชจ๋ ๋ฐฐ์ด ์์๋ฅผ ๋์ผํ๊ฒ ๋ง๋๋ ๋ฐ ํ์ํ ์ต์ ์ด๋ ํ์๋ฅผ ๋ฐํํฉ๋๋ค. ํ ๋ฒ์ ์ด๋์ผ๋ก ๋ฐฐ์ด์ ์์๋ฅผ 1์ฉ ์ฆ๊ฐ ๋๋ ๊ฐ์์ํฌ ์ ์์ต๋๋ค. ํ ์คํธ ์ผ์ด์ค๋ ๋ต์ด 32๋นํธ ์ ์์ ๋ง๋๋ก ์ค๊ณ๋์์ต๋๋ค. Input, Output Input: nums = [1,10,2,9] Output: 16 Input: nums = [1,2,3] Output: 2 Explanation: ๋ ๋ฒ์ ์ด๋๋ง ํ์ํฉ๋๋ค(๊ฐ ์ด๋์ ํ๋์ ์์๋ฅผ ์ฆ๊ฐ ๋๋ ๊ฐ์์ํจ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์ญ์์ค): [1,2,3] => [2,2,3] => [2,2,2] Constraints n == nums.length 1
[Algorithms] 1์ผ 1Algorithms 1์ผ์ฐจ (406. Queue Reconstruction by Height)
406. Queue Reconstruction by Height queue์ ์๋ ์ผ๋ถ ์ฌ๋๋ค์ ์์ฑ์ธ ์ฌ๋ ๋ฐฐ์ด์ด ์ ๊ณต๋ฉ๋๋ค(๋ฐ๋์ ์์๋๋ก๋ ์๋). ๊ฐ people[i] = [hi, ki]๋ hi๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ํค๋ฅผ ๊ฐ์ง ์ ํํ ki๋ช ์ ๋ค๋ฅธ ์ฌ๋๋ค๊ณผ ํจ๊ป hi์ i๋ฒ์งธ ์ฌ๋์ ๋ํ๋ ๋๋ค. ์ ๋ ฅ ๋ฐฐ์ด people์ด ๋ํ๋ด๋ queue๋ฅผ ์ฌ๊ตฌ์ฑํ๊ณ ๋ฐํํฉ๋๋ค. ๋ฐํ๋ queue๋ ๋ฐฐ์ด queue๋ก ํ์ํ๋์ด์ผ ํฉ๋๋ค. ์ฌ๊ธฐ์ queue[j] = [hj, kj]๋ queue์ ์๋ j๋ฒ์งธ ์ฌ๋์ ์์ฑ์ ๋๋ค(queue[0]์ queue ๋งจ ์์ ์๋ ์ฌ๋์ ๋๋ค). Input Output Input: people = [[7,0],[4,4],[7,1],[5,0],[6,1],[5,2]] Output: [[5..