๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป ๐ŸŒฎ ๐Ÿ’ฌ

๐Ÿ’ป leetcode17

[LeetCode] Algorithms | 21. Merge Two Sorted Lists | Python Problems ํ•ญ์ƒ Linked List๋งŒ ๋‚˜์˜ค๋ฉด ๋งŽ์ด ํ—ท๊ฐˆ๋ ค์„œ ์—ฐ์Šต์žฅ์— ํ•˜๋‚˜ํ•˜๋‚˜ ๊ทธ๋ ค๋ณด๊ณ  ์ ์–ด๋ณธ๋‹ค.์ž˜ ์“ฐ์ง€ ์•Š์•„์„œ ์ต์ˆ™ํ•˜์ง€ ์•Š์•„์„œ๊ฒ ์ง€ ์ด๋ ‡๊ฒŒ๋‚˜๋งˆ ๊ณ„์† ์ ‘ํ•˜๋ฉด ์ต์ˆ™ํ•ด์ง€๊ฒ ์ง€ ์•”ํŠผ ํ•ด์•ผํ•˜๋Š” ์ผ์€ list๋ฅผ mergeํ•˜๊ณ  ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌํ•ด์•ผํ•œ๋‹ค.๊ทธ๋ƒฅ python ํ•จ์ˆ˜๋กœ extend ํ•˜๊ณ  sort ๋•Œ๋ ค๋ฒ„๋ฆฌ๊ณ  ์‹ถ์ง€๋งŒ ๊ทธ๋ž˜๋„ ํ•œ๋ฒˆ ์ฐจ๊ทผ์ฐจ๊ทผ ํ•ด๋ณด์ž 1. ์šฐ์„  ๋นˆ list1๊ฐ€ ๋นˆ list์ด๋ฉด, list2๋กœ return ํ•ด์ฃผ๊ณ , ๊ทธ ๋ฐ˜๋Œ€๋กœ list2๊ฐ€ ๋นˆ list์ด๋ฉด list1์œผ๋กœ return ํ•ด์ฃผ๊ธฐ2. while ๋ฌธ์„ ํ†ตํ•ด์„œ ๋นˆ list์ผ ๋•Œ๊นŒ์ง€ ๋ฐ˜๋ณตํ•ด์ฃผ๊ธฐ3. ListNode์˜ val๋ฅผ ๊ฐ€์ง€๊ณ ์™€์„œ ํฌ๊ธฐ ๋น„๊ตํ•ด์ฃผ๊ธฐ   3-1. list1์˜ val์ด ๋” ํฌ๋‹ค๋ฉด, ๋น„์–ด์žˆ๋Š” ListNode์— list1์„ ๋‹ด์•„์ฃผ๊ณ  list1์˜.. 2024. 7. 24.
[LeetCode] Algorithms | 20. Valid Parentheses | Python Problems ๋ฌธ์ œ๋ฅผ ์ฝ๊ณ , ๊ทธ๋ƒฅ ์ˆœ์„œ ์ƒ๊ด€์—†์ด s์•ˆ์— ์ง ๋งž๋Š” ๊ด„ํ˜ธ๋งŒ ์žˆ์œผ๋ฉด ๋˜๋Š” ์ค„ ์•Œ์•˜๋‹ค.๊ทธ๋ž˜์„œ ์ง  ์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.์ง„์งœ ๋‹จ์ง€ ์ง๋งŒ ๋งž์œผ๋ฉด ๋˜๊ธฐ์—, ๊ฐ™์€ ๊ด„ํ˜ธ ์ง์ˆ˜ ๊ฐœ์ธ์ง€ ํ™•์ธํ•˜๊ณ  returnwrong ์ด๋ผ๊ณ  ํ•œ๋‹ค.๋ณด๋‹ˆ๊นŒ, ๊ฐ™์€ ๊ด„ํ˜ธ๋ผ๋ฆฌ๋Š” ๋ถ™์–ด์žˆ์–ด์•ผํ•˜๋‚˜๋ณด๋‹ค. ๋งŒ์•ฝ s = '( [ { } ] )' ์ผ ๊ฒฝ์šฐ์—๋Š” ์—ฌ๋Š” ๊ด„ํ˜ธ ์ˆœ์„œ  ( โ†’ [ โ†’ {  ์™€ ๋‹ซ๋Š” ๊ด„ํ˜ธ  } โ†’ ] โ†’ ) ์ˆœ์„œ๋Š” ๋ฐ˜๋Œ€์ด๋‹ค.์ด๋Ÿฐ ๊ฒฝ์šฐ์— ์—ฌ๋Š” ๊ด„ํ˜ธ ์ˆœ์„œ๋กœ stack์— ์Œ“์•„์ฃผ๊ณ , ๋’ค์— ์Œ“์ธ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ€์ง€๊ณ  ์™€์„œ ๋‹ซ๋Š” ๊ด„ํ˜ธ ํ™•์ธํ•˜๋Š” ๊ฑธ๋กœ ํ•ด์•ผ๊ฒ ๋‹ค.๊ทธ๋Ÿผ LIFO ๊ฐ€ ๋˜๋Š”๊ฑฐ๊ณ , list์—์„œ ๋’ค์— ์š”์†Œ๋ถ€ํ„ฐ ๊ฐ€์ง€๊ณ  ์™€์„œ ์ง€์›Œ์ฃผ๋Š” pop ์„ ์‚ฌ์šฉํ•ด์•ผ๊ฒ ๋‹ค(remove๋Š” ์•ž ์š”์†Œ๋ฅผ ๊ฐ€์ง€๊ณ  ์˜ค๊ณ  ์ง€์›Œ์ค€๋‹ค.) ๊ทธ๋ž˜์„œ ์ž‘์„ฑํ•œ ์Šคํฌ๋ฆฝํŠธ๋Š” ์•„๋ž˜์™€ ๊ฐ™.. 2024. 7. 23.
[LeetCode] Algorithms | 14. Longest Common Prefix | Python Problems ์ œ์ผ ๊ธด common prefix๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ์ด๋‹ค.์ด๊ฑธ ํ•˜๋‚˜ํ•˜๋‚˜ ์–ด๋–ป๊ฒŒ ๊ฒ€์‚ฌํ•ด์•ผํ•˜๋‚˜ ๊ณ ๋ฏผ์ด ๋˜์—ˆ๋‹ค.์šฐ์„  ์ œ์ผ ์งง์€ ๋‹จ์–ด๋ฅผ ๊ธฐ์ค€์„ ์žก๊ณ  ์‹œ์ž‘ํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค. ์ฒ˜์Œ์—” shortest_word = min(strs, len) ์œผ๋กœ ํ•˜๋‚˜ ์ง€์ •์„ ํ•œ ์ƒํƒœ๋กœ ์‹œ์ž‘ํ–ˆ๋Š”๋ฐ,์Œ ๊ทธ๋ƒฅ ์ •๋ ฌ๋กœ ์ฒซ๋ฒˆ์งธ ๋ฐ•์•„๋†“๊ณ  ํ•˜๋ฉด ์ข€ ๋” ์ˆ˜์›”ํ•˜๊ฒ ๋‹ค ์ƒ๊ฐํ–ˆ๋‹คstrs.sort(key = lambda x : len(x))for i in range(len(strs[0])): for j in range(1, len(strs)): if strs[0][i] != strs[j][i]: return strs[0][:i]return strs[0] ์ œ์ผ ์งง์€ ๋‹จ์–ด str[0] ์„ ๊ธฐ์ค€์„ ์žก๊ณ , ๊ทธ ๋‹ค์Œ .. 2024. 7. 12.
[LeetCode] Algorithms | 13. Roman to Integer | Python Problems Thinking์œ„์—์„œ ์ •์˜ํ•œ Symbol, Value๋ฅผ Dict๋กœ ์„ ์–ธํ•ด์ฃผ๊ณ  mapping ์‹œ์ผœ์ฃผ๋ฉด ๋˜๋Š” ๊ฐ„๋‹จํ•œ ๋ฌธ์ œ๋‹ค.์‹ ๊ฒฝ์จ์•ผํ•  ๋ถ€๋ถ„์€์ด๋ ‡๊ฒŒ 2๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ ๋งŒ๋‚ฌ์„ ๋•Œ ์ˆซ์ž๊ฐ€ ๋ฐ”๋€๋‹ค๋Š” ์ ํ•˜๋‚˜ํ•˜๋‚˜ ๋ถ„๊ธฐ์ฒ˜๋ฆฌํ•ด์„œ ํ• ๊นŒ ์ƒ๊ฐํ–ˆ๋Š”๋ฐ์˜คํžˆ๋ ค ๋” ๋ณต์žกํ•˜๊ณ  ์‹œ๊ฐ„๋„ ๋งŽ์ด ์†Œ์š”๋  ๊ฒƒ์ด๋ผ ํŒ๋‹จ mapping ๋˜์–ด์•ผํ•˜๋Š” dict์„ ์„ ์–ธํ•ด์ค€๋‹คmapping = { 'I':1, 'V':5, 'X':10, 'L':50, 'C':100, 'D':500, 'M':1000, 'IV':4, 'IX':9, 'XL':40, 'XC':90, 'CD':400, 'CM':900 } input๋˜๋Š” Roman์„ ํ•˜๋‚˜์”ฉ ์ชผ๊ฐœ์ฃผ๊ณ  ์ˆœ์„œ๋Œ€๋กœ Interger๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š”๋ฐ,๊ทธ ๋ฐ”๋กœ ์˜†์— ์žˆ๋Š” Roman๊ณผ ํ•จ๊ป˜ ํ™•์ธํ•˜๋„๋ก ํ•ด์ค€๋‹ค.n.. 2024. 7. 12.
[LeetCode] Database | 178. Rank Scores Problem Example Thinking ์šฐ์„  ์‚ฝ์งˆ ๋ฐฉ์ง€๋ฅผ ์œ„ํ•ด mysql์— ์ˆœ์œ„๋ฅผ ์ •ํ•ด์ฃผ๋Š”(rank) ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š”์ง€ ์ฐพ์•„๋ณด์•˜๋‹ค! ๋‹คํ–‰ํžˆ ๋‚ด๊ฐ€ ์ฐพ๋˜ ๊ฒƒ์ด ๋ฐ”๋กœ ์žˆ์—ˆ๋‹ค. Example์— ์žˆ๋Š” ํ…Œ์ด๋ธ” ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ–ˆ์„ ๋•Œ์˜ ๊ฒฐ๊ณผ๋กœ ๋น„๊ตํ•ด๋ณด์ž 1. RANK() : ๋™์ผํ•œ ๊ฐ’์ด๋ฉด ์ค‘๋ณต ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๋‹ค์Œ ์ˆœ์œ„๋Š” ํ•ด๋‹น ๊ฐœ์ˆ˜๋งŒํผ ๊ฑด๋„ˆ๋„๊ณ  ๋ฐ˜ํ™˜ํ•œ๋‹ค. SELETE score, RANK() OVER (ORDER BY score DESC) AS rank FROM Scores; score rank 4.00 1 4.00 1 3.85 3 3.65 4 3.65 4 3.50 6 2. DENSE_RANK() : ๋™์ผํ•œ ๊ฐ’์ด๋ฉด ์ค‘๋ณต ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•˜๊ณ , ๋‹ค์Œ ์ˆœ์œ„๋Š” ์ค‘๋ณต ์ˆœ์œ„์™€ ์ƒ๊ด€์—†์ด ์ˆœ์ฐจ์ ์œผ๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. SELETE score,.. 2022. 3. 16.
[LeetCode] Database | 177. Nth Highest Salary Problem Example Thinking n๋ฒˆ์งธ ํฐ ๊ฐ’์„ ๋ณด๋‚ด๋Š” ๊ฒƒ์ด๋ผ .... n๋ฒˆ์งธ ํฐ ๊ฐ’์ด๋ฉด limit n์œผ๋กœ ํ•ด์„œ ์ ค ํฐ๊ฐ’๋ถ€ํ„ฐ n๋ฒˆ์งธ ํฐ ๊ฐ’๊นŒ์ง€ n๊ฐœ์˜ ๊ฐ’์„ ๊ฐ€์ ธ์˜จ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ค‘์—์„œ ์ œ์ผ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜๊ฒ ์ง€? ์ƒ๊ฐํ–ˆ๋‹ค ๊ทธ๋žฌ๋”๋‹ˆ wrong answer ์™œ? null์ด ๋‚˜์™€์•ผํ•˜๋Š”๋ฐ ๊ฐ’์ด ๋‚˜์™€๋ฒ„๋ ธ๋‹ค ํ  ..๊ทธ๋Ÿฌ๋ฉด์€ ์šฐ์„  .. ๊ฐ’๋“ค์ด ์ค‘๋ณต๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์œผ๋‹ˆ, distinct๋กœ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•ด์ฃผ๊ณ  n๋ฒˆ์งธ ํฐ ๊ฐ’์ด ์—†์–ด์•ผํ•˜๋Š”๋ฐ ๋‚˜์™€๋ฒ„๋ฆฐ๊ฑฐ๋ฉด .. limit n ์œผ๋กœ ๋Š์–ด์ค€ ์• ๋“ค์ด n๋ณด๋‹ค ์ ์„ ๊ฒฝ์šฐ์— ๊ทธ๋ ‡๊ฒŒ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. (์˜ˆ : 100, 300, 200, 200 ์—์„œ 4๋ฒˆ์งธ ํฐ ๊ฐ’? ---distinct--> 400, 300, 200์€ 4๋ฒˆ์งธ ํฐ ๊ฐ’์ด ์—†๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์กฐ๊ฑด์ ˆ์„ ๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค. .. 2022. 1. 18.
[LeetCode] Database | 176. Second Highest Salary Problem Example Thinking ์ตœ๋Œ“๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์•„๋‹Œ, 2๋ฒˆ์งธ๋กœ ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฑฐ์—์„œ ๋ฉˆ์นซ ๊ณ ๋ฏผํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ํ .. ์ตœ๋Œ“๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ ค๋ฉด ๋‹จ์ˆœํžˆ MAX๋กœ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜์ง€๋งŒ 2๋ฒˆ์งธ ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ผ๊นŒ? ๊ตฌ๊ธ€๋ง์„ ํ•˜๋‹ˆ ๋”ฐ๋กœ ๋‚ด์žฅ๋œ ํ•จ์ˆ˜๊ฐ€ ์—†๋Š” ๊ฒƒ ๊ฐ™์•˜๋‹ค. ๊ทธ๋Ÿผ ์ œ์ผ ํฐ ๊ฐ’๋ณด๋‹ค ์ž‘์€ ๊ฐ’๋“ค ์ค‘์—์„œ ์ œ์ผ ํฐ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋ฉด ๋˜๊ฒ ๋‹ค! Solve ์ œ์ถœ ๋‹ต์•ˆ SELECT MAX(salary) AS SecondHighestSalary FROM Employee WHERE salary < (SELECT MAX(salary) FROM Employee); https://leetcode.com/problems/second-highest-salary Second Highest Salary - Lee.. 2022. 1. 18.
[LeetCode] Database | 1179. Reformat Department Table Problem Example Thinking column์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•ด์ค˜์•ผ ํ•œ๋‹ค. month์— ๋งž์ถฐ์„œ (month)_Revenue ๋ผ๊ณ  ์ƒ์„ฑ์„ ํ•ด์ฃผ์ž ๊ทธ๋ฆฌ๊ณ  id๋กœ ๋ฌถ์–ด์ฃผ๊ธฐ ์œ„ํ•ด group by ! Solve ์ œ์ถœ ๋‹ต์•ˆ SELECT id , SUM(CASE WHEN month = "Jan" THEN revenue END) AS Jan_Revenue , SUM(CASE WHEN month = "Feb" THEN revenue END) AS Feb_Revenue , SUM(CASE WHEN month = "Mar" THEN revenue END) AS Mar_Revenue , SUM(CASE WHEN month = "Apr" THEN revenue END) AS Apr_Revenue , SUM(CASE WH.. 2022. 1. 13.
[LeetCode] Database | 620. Not Boring Movies Problem Example Thinking id๊ฐ€ ํ™€์ˆ˜์ธ ์•„์ด๋“ค๋งŒ ๊ฐ€์ง€๊ณ  ์™€์•ผ ํ•œ๋‹ค. 2๋กœ ๋‚˜๋ˆ ์ฃผ์—ˆ์„ ๋•Œ ๋‚˜๋จธ์ง€๊ฐ€ 1์ธ ์• ๋“ค๋งŒ ๊ฐ€์ง€๊ณ  ์˜ค๋ ค๋ฉด MOD(id, 2) = 1 ๊ทธ๋ฆฌ๊ณ  description์— boring์ด ๋“ค์–ด๊ฐ€์žˆ์œผ๋ฉด ์•ˆ๋˜๊ธฐ์— description != 'boring' ํ‰์ ์ด ๋†’์€ ์ˆœ์„œ๋Œ€๋กœ ๋‚˜์—ด๋˜์–ด์•ผ ํ•˜๊ธฐ์— ORDER BY rating DESC Solve ์ œ์ถœ ๋‹ต์•ˆ SELECT * FROM Cinema WHERE MOD(id, 2) = 1 and description != 'boring' ORDER BY rating DESC; https://leetcode.com/problems/not-boring-movies/ Not Boring Movies - LeetCode Level up your cod.. 2022. 1. 13.