๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“š Coding Test9

[LeetCode] 704. Binary Search ๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€ ์ž…๋‹ˆ๋‹ค. 2022. 8. 15.
[LeetCode] 724. Find Pivot Index pivot ์ธ๋ฑ์Šค๋ž€ ์ธํ…์Šค์˜ ๋ชจ๋“  ์™ผ์ชฝ ์š”์†Œ์˜ ํ•ฉ๊ณผ ์˜ค๋ฅธ์ชฝ์˜ ๋ชจ๋“  ์š”์†Œ์˜ ํ•ฉ์ด ๊ฐ™์€ ์ง€์ ์˜ ์ธ๋ฑ์Šค class Solution { func pivotIndex(_ nums: [Int]) -> Int { var rightSum = nums.reduce(0, +) - nums[0] var leftSum = 0 if rightSum == leftSum { return 0 } for index in 1.. ํ”ผ๋ด‡ ์ธ๋ฑ์Šค ๊ธฐ์ค€ ์™ผ์ชฝ ํ•ฉ, ์˜ค๋ฅธ ์ชฝ ํ•ฉ์„ ๊ตฌํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ „์ฒด ํ•˜์—์„œ ํ˜„์žฌ ์ธ๋ฑ์Šค ๊ฐ’์„ ๋นผ์คŒ if rightSum == leftSum { return 0 } ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค์—์„œ ์™ผ์ชฝ ํ•ฉ, ์˜ค๋ฅธ ์ชฝ ํ•ฉ์ด ๊ฐ™์€ ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๊ฐ€ ํ”ผ๋ด‡ ์ธ๋ฑ์Šค ์ด๋ฏ€๋กœ 0์„ ๋ฆฌํ„ดํ•จ (์ธ๋ฑ์Šค 0์ด ํ”ผ๋ด‡ ์ธ๋ฑ์Šค) ์ „์ฒด ํ•ฉ S์—์„œ ํ˜„์žฌ.. 2022. 8. 1.
[LeetCode] 1480 Running Sum of 1d Array ๋ณดํ˜ธ๋˜์–ด ์žˆ๋Š” ๊ธ€ ์ž…๋‹ˆ๋‹ค. 2022. 7. 29.
[leetCode] 13. 3Sum (์•Œ๊ณ ๋ฆฌ์ฆ˜, ์›๋ฆฌ) with Swift leetCode submit ํ†ต๊ณผํ•˜๋ฉด ๋‹ค๋ฅธ ๋ถ„๋“ค์ด ์งœ ๋†“์œผ์‹  ํ™˜์ƒ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ œ๊ป€ ์ฐธ๊ณ ์™€ ํ†ต๊ณผ์šฉ์œผ๋กœ ๋ด์ฃผ์„ธ์š” ใ… ใ…  ํšจ์œจ์„ฑ ๊ฐ–๋‹ค๋ฒ„๋ฆฐ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค. ํ—ˆํ—ฃ ๋‹ค๋ฅธ ๊ธ€์—์„œ ์–ผํ• ๋…ธ๊ฐ€๋‹ค ์ฝ”๋“œ๋ผ๊ณ  ์ ํžŒ ๊ฑธ ๋ดค์–ด์š” ใ…Žใ…Ž ์•„๋งˆ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ๋„ ์žˆ๊ฒ ์ง€๋งŒ ์–ด๋–ป๊ฒŒ๋“  ํƒ์ƒ‰ ๋ฒ”์œ„๋ฅผ ์ค„์ด๋Š” ๊ฒƒ์ด ์ด ๋ฌธ์ œ์—์„œ time ๋ณต์žก๋„๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์•„๋‹๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค. ๐Ÿ‘‡๊ด‘๊ณ  ๋ถ™์ด๊ณ  ๋ฌธ์ œ๋ž‘ ์˜ˆ์‹œ ์˜ฌ๋ฆฌ๋ฉด ์•ˆ๋œ๋‹ค๊ณ  ๋“ค์–ด์„œ ๋ฌธ์ œ๋Š” ๋งํฌ๋กœ ๋Œ€์‹ ํ•ฉ๋‹ˆ๋‹ค ๐Ÿ‘‡ https://leetcode.com/problems/3sum/ 3Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowl.. 2020. 11. 4.
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์™„์ฃผํ•˜์ง€ ๋ชปํ•œ ์„ ์ˆ˜ with python (feat. hash) ํ•ด์‹œ ํ…Œ์ด๋ธ” Key & Values - ํ•ด์‹œ ํ…Œ์ด๋ธ”์€ value์™€ key๋ฅผ ๊ฐ€์ง - ๋”•์…”๋„ˆ๋ฆฌ์™€ ๋‹ค๋ฅธ ์ ์€ key๊ฐ€ ๊ณ„์‚ฐ๋œ ์ˆซ์ž ์‹œํ€€์Šค ํ˜น์€ char - ๋ฐฐ์—ด์„ ์‚ฌ์šฉํ•ด์„œ ์—ฐ์†์ ์ด์ง€ ์•Š์€ buckets๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๊ตฌ์กฐ์— ์ €์žฅ - ๊ฐ ๊ฐ’์˜ ์œ„์น˜๋Š” ํ•ด์‹œ ํ•จ์ˆ˜์— ์˜ํ•ด ๊ณ„์‚ฐ ํ•ด์‹œ ์ถฉ๋Œ(collisions) ๋‹ค๋ฅธ ๊ฐ’์„ input ํ–ˆ์ง€๋งŒ ๊ฐ™์€ hash๊ฐ’์„ ๊ฐ€์ง€๋Š” ๊ฒฝ์šฐ(๋‹ค๋ฅธ ๊ฐ’์ด๋ผ๋„ ๊ฐ™์€ ํ•ด์‹œ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ ๊ฐ™์€ ํ•ด์‹œ ๊ฐ’์ด๋ผ ํ•ด์„œ ๊ฐ™์€ ์ธ์Šคํ„ด์Šค๋Š” ์•„๋‹˜ -> ๋‹จ๋ฐฉํ–ฅ) ํ•ด์‹œ์˜ ์žฅ์  ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ ๊ฐ’์„ ๊ฐ€์ ธ์•ผ ํ•˜๋Š” ๊ตฌ์กฐ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. ํŠนํžˆ ๊ทธ ํฌ๊ธฐ๊ฐ€ ์–ด๋–ป๋“  ๊ฐ„์— ๊ฐ’์„ ์ฐพ๋Š” ์‹œ๊ฐ„ ๋ณต์žก๋„๊ฐ€ O(1)์ด๊ธฐ ๋•Œ๋ฌธ์— ํฌ๊ธฐ๊ฐ€ ํฐ ๋ฐ์ดํ„ฐ์—์„œ ๊ฐ’์„ ํšจ๊ณผ์ ์œผ๋กœ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค. ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•œ ์ด.. 2020. 10. 13.
[leetCode] 152. Maximum Product Subarray ์นด๋‹จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์˜ ๋ณ€ํ˜• ์ €๋ฒˆ leetCode์—์„œ ํ’€์—ˆ๋˜ Maximum Subarray์™€ ๋น„์Šทํ•œ ๋ฌธ์ œ์ด๋‹ค. ๋•Œ๋ฌธ์— ๊ธฐ์กด์— ์ตํ˜”๋˜ ์นด๋‹จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋˜์ง€๋งŒ ๋ณ€์ˆ˜๊ฐ€ ์กด์žฌํ•œ๋‹ค. Product๋Š” ๊ณฑ์œผ๋กœ์„œ ์Œ์ˆ˜์™€ ์Œ์ˆ˜์˜ ๊ณฑ์€ ์–‘์ˆ˜๊ฐ€ ๋˜๊ณ  ์–‘์ˆ˜์— ์Œ์ˆ˜๋ฅผ ๊ณฑํ•˜๊ฒŒ ๋˜๋ฉด ์Œ์ˆ˜๊ฐ€ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ์ด ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋Œ€๋น„ํ•˜์—ฌ ์ตœ๋Œ€ ๊ฐ’์„ ๊ตฌํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. ์นด๋‹จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ํ˜„์žฌ ๊ฐ’์œผ๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ์–ด๋ ˆ์ด์™€ ์ด์ „ ์–ด๋ ˆ์ด+ํ˜„์žฌ๊ฐ’์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์„œ๋ธŒ ์–ด๋ ˆ์ด์˜ ๋น„๊ต๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. class Solution { func maxProduct(_ nums: [Int]) -> Int { var num = nums var maxP = num[0] var minP = num[0] var answer = num[0] for i in 1.. 2020. 10. 12.
[leetCode] 53. Maximum Subarray with Swift ์นด๋‹จ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์‰ฝ๊ฒŒ ๊ตฌํ•˜๊ธฐ leetCode 53์€ ๋ชจ๋“  ์›์†Œ์˜ ๊ฐ’์˜ ํ•ฉ์ด ์ตœ๋Œ€๊ฐ’์„ ๊ฐ€์ง€๋Š” ์„œ๋ธŒ ์–ด๋ ˆ์ด๋ฅผ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ๋ชฉํ‘œ์ž…๋‹ˆ๋‹ค. ์ด๋•Œ ์„œ๋ธŒ ์–ด๋ ˆ์ด๋Š” ์—ฐ์†์„ฑ์„ ๊ฐ€์ ธ์•ผ ํ•˜๋Š”๋ฐ, ์ด ๋œป์€ ์ค‘๊ฐ„ ์ธ๋ฑ์Šค๋ฅผ ๋›ฐ์–ด ๋„˜์ง€ ์•Š๊ณ  ์ธ๋ฑ์Šค ์ˆœ์„œ๋Œ€๋กœ ๋˜์–ด ์žˆ๋Š” ์–ด๋ ˆ์ด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์—์„œ ์ตœ๋Œ€๊ฐ’๋“ค์˜ ์กฐํ•ฉ๋งŒ์„ ์ฐพ์•„ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ฉฐ ์–ด๋–ค ์„œ๋ธŒ ์–ด๋ ˆ์ด๊ฐ€ ๊ฐ€์žฅ ์ตœ๊ณ ์˜ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ๊ตฌํ•˜๋Š” ๊ฒƒ์ด ์ด ๋ฌธ์ œ์— ํฌ์ธํŠธ ์ž…๋‹ˆ๋‹ค. ์„œ๋ธŒ ์–ด๋ ˆ์ด์˜ ์ตœ๋Œ€๊ฐ’์„ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์—์„œ ๋งŽ์ด ์–ธ๊ธ‰๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Kadane ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค. reference Youtube video here ๐Ÿ‘‡ ์šฐ์„  ๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ [-2, 1, -3, 4, -1, 2, 1, -5, 4]๋ฅผ ๋ด…์‹œ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฒซ๋ฒˆ์งธ 4๋ฅผ ์ค‘์ ์œผ๋กœ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ ์ธ๋ฑ์Šค๋Š” 3์ด๊ณ  ๊ทธ ์ธ๋ฑ์Šค์˜ ๊ฐ’์€ 4์ž…๋‹ˆ๋‹ค.. 2020. 10. 6.
[LeetCode] 217. Contains Duplicate with Swift ๋ฐฐ์—ด์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ์ˆ˜ ์ฐพ๊ธฐ Contains Duplicate - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 217๋ฒˆ ๋ฌธ์ œ๋Š” nums๋Š” intํ˜• ์ˆซ์ž์˜ ๋ฐฐ์—ด์ด๊ณ  ์ด ๋ฐฐ์—ด์—์„œ ๋ฐ˜๋ณต๋˜๋Š” ๊ฐ’์ด ์žˆ์„ ๋•Œ true๋ฅผ ๋ฐ˜ํ™˜ ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์–ธ๋œป ๋ณด๊ธฐ์— ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์ˆ˜๋ฅผ ํƒ์ƒ‰ํ•ด์•ผ ํ•  ๊ฒƒ ๊ฐ™์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ์‹œ๊ฐ„ ํšจ์œจ์„ฑ ์ธก๋ฉด์—์„œ ๋‚ฎ์€ ์ ์ˆ˜๋ฅผ ๋ฐ›์„ ์ˆ˜ ๋ฐ–์— ์—†์Šต๋‹ˆ๋‹ค. ์ฐจ๊ทผ์ฐจ๊ทผ ๋ฐฐ์—ด์—์„œ ์ค‘๋ณต๋œ ๊ฐ’์„ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ ์–ด๋–ค ์•Œ๊ณ ๋ฆฌ์ฆ˜๊ณผ ํ•จ์ˆ˜๋ฅผ ์จ์•ผ ํ• ์ง€ ์•Œ์•„๋ด…์‹œ๋‹ค. 1. ์ˆœ์ˆ˜ํ•œ .. 2020. 9. 17.
์Šค์ฝ”๋นŒ ์ง€์ˆ˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋” ๋งต๊ฒŒ ๋งค์šด ๊ฒƒ์„ ์ข‹์•„ํ•˜๋Š” Leo๋Š” ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๋ฅผ K ์ด์ƒ์œผ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด Leo๋Š” ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ ๊ฐ€์žฅ ๋‚ฎ์€ ๋‘ ๊ฐœ์˜ ์Œ์‹์„ ์•„๋ž˜์™€ ๊ฐ™๏ฟฝ๏ฟฝ programmers.co.kr ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต์—์„œ ์นดํ…Œ๊ณ ๋ฆฌ๋ฅผ ์ž˜ ๋ณด๋ฉด ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ž๋ฃŒ ๊ตฌ์กฐ๊ฐ€ ์ ํ˜€ ์žˆ๋‹ค. ์ด๋ฒˆ์— ํ•˜๊ฒŒ ๋œ ๊ฒƒ์€ ํž™(Heap) > ๋” ๋งต๊ฒŒ ์ด๋‹ค. ์ž‘์€ ์ˆ˜์™€ ๊ทธ ๋‹ค์Œ ์ž‘์€ ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์—ฐ์‚ฐ์„ ํ•˜๊ณ  ๋‹ค์‹œ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ์–ด์„œ ์ตœ์†Œ๊ฐ’ ๊ธฐ์ค€์— ๋Œ€ํ•œ ์กฐ๊ฑด๋งŒ ๋งž์ถ”๋ฉด ๋˜๊ฒ ๋‹ค ์‹ถ์—ˆ์œผ๋‚˜ ํšจ์œจ์„ฑ์—์„œ ๊ณผ๊ฐํžˆ ์•„์›ƒ๋‹นํ–ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ์—ฌ๊ธฐ์„œ 'ํž™'์„ ์ œ์‹œํ•œ ๊ฑธ๊นŒ? ์Šคํƒ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋˜๋Š” ๊ฑธ๊นŒ? def solution(scovile, k): answer = 0 w.. 2020. 8. 3.