๊ฐœ๋…/์•Œ๊ณ ๋ฆฌ์ฆ˜

    [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)

    [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)

    [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..