Banner

My Tech Blog (์Šคํƒ)

๐Ÿค– 1. ๋ฌธ์ œ์„ค๋ช…๋ฌธ์ œ ์„ค๋ช…์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ๋Š” ๋‹ค์Œ ์—ฐ์‚ฐ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.  ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ๊ฐ€ ํ•  ์—ฐ์‚ฐ operations๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋ชจ๋“  ์—ฐ์‚ฐ์„ ์ฒ˜๋ฆฌํ•œ ํ›„ ํ๊ฐ€ ๋น„์–ด์žˆ์œผ๋ฉด [0,0] ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด [์ตœ๋Œ“๊ฐ’, ์ตœ์†Ÿ๊ฐ’]์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญoperations๋Š” ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ 1,000,000 ์ดํ•˜์ธ ๋ฌธ์ž์—ด ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.operations์˜ ์›์†Œ๋Š” ํ๊ฐ€ ์ˆ˜ํ–‰ํ•  ์—ฐ์‚ฐ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.์›์†Œ๋Š” “๋ช…๋ น์–ด ๋ฐ์ดํ„ฐ” ํ˜•์‹์œผ๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค.- ์ตœ๋Œ“๊ฐ’/์ตœ์†Ÿ๊ฐ’์„ ์‚ญ์ œํ•˜๋Š” ์—ฐ์‚ฐ์—์„œ ์ตœ๋Œ“๊ฐ’/์ตœ์†Ÿ๊ฐ’์ด ๋‘˜ ์ด์ƒ์ธ ๊ฒฝ์šฐ, ํ•˜๋‚˜๋งŒ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.๋นˆ ํ์— ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋ผ๋Š” ์—ฐ์‚ฐ์ด ์ฃผ์–ด์งˆ ๊ฒฝ์šฐ, ํ•ด๋‹น ์—ฐ์‚ฐ์€ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.   ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #116๊ณผ -..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… 1. ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ 1์ธ ์Œ์‹๊ณผ 2์ธ ์Œ์‹์„ ์„ž์œผ๋ฉด ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฉ๋‹ˆ๋‹ค.์ƒˆ๋กœ์šด ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜ = 1 + (2 * 2) = 5๊ฐ€์ง„ ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜ = [5, 3, 9, 10, 12] 2. ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ 3์ธ ์Œ์‹๊ณผ 5์ธ ์Œ์‹์„ ์„ž์œผ๋ฉด ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ฉ๋‹ˆ๋‹ค.์ƒˆ๋กœ์šด ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜ = 3 + (5 * 2) = 13๊ฐ€์ง„ ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜ = [13, 9, 10, 12] ๋ชจ๋“  ์Œ์‹์˜ ์Šค์ฝ”๋นŒ ์ง€์ˆ˜๊ฐ€ 7 ์ด์ƒ์ด ๋˜์—ˆ๊ณ  ์ด๋•Œ ์„ž์€ ํšŸ์ˆ˜๋Š” 2ํšŒ์ž…๋‹ˆ๋‹ค.๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹ํ•ญ์ƒ ์ •๋ ฌ์ด ๋˜์–ด ์žˆ์–ด์„œ ๋‚ฎ์€ ์ˆœ์œ„๋ถ€ํ„ฐ ๊บผ๋‚ผ ์ˆ˜ ์žˆ๋Š” ์šฐ์„ ์ˆœ์œ„ ํ ์‚ฌ์šฉPriority Queue(์šฐ์„ ์ˆœ์œ„ํ)๋ฐฐ์—ด์„ ์šฐ์„ ์ˆœ์œ„ ํ์— ๋„ฃ๋Š”๋‹คํ ์•ˆ์—์„œ ๊ฐ€์žฅ ๋‚ฎ์€ ์ˆซ์ž๊ฐ€ k..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ด์ค‘for๋ฌธํ˜„์žฌ ์ธ๋ฑ์Šค์— ์žˆ๋Š” ์š”์†Œ๊ณผ ์ดํ›„ ๋ชจ๋“  ๊ฐ’์„ ๋น„๊ตํ•˜๋ฉด์„œ ํ˜„์žฌ ์š”์†Œ๊ฐ€ ๋น„๊ตํ•˜๊ณ  ์žˆ๋Š” ์š”์†Œ๋ณด๋‹ค ์ปค์ง€๋ฉด break;๋ฅผ ๊ฑธ์–ด์ค€๋‹ค.๊ทธ ์ „๊นŒ์ง€๋Š” answer[i]++์„ ํ•ด ์ค€๋‹ค. ํ˜„์žฌ ์š”์†Œ๊ฐ€ ๋” ํฌ๋‹ค๋Š” ๋ง์€ ์ดํ›„์— ๊ฐ€๊ฒฉ์ด ๋–จ์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ํ˜„์žฌ ์š”์†Œ๊ฐ€ ๋น„๊ตํ•˜๋Š” ๊ฐ’๊ณผ ๊ฐ™๊ฑฐ๋‚˜ ๋” ์ ๋‹ค๋ฉด ๊ฐ€๊ฒฉ์ด ์œ ์ง€๋˜๊ฑฐ๋‚˜ ์˜ค๋ฅธ ๊ฒƒ์ด๋‹ค.์Šคํƒ(Stack)๊ทผ๋ฐ ์ด๊ฒŒ ์Šคํƒ/ํ ๋ฌธ์ œ๋ผ๋Š”๋ฐ ์Šคํƒ์œผ๋กœ๋Š” ์–ด๋–ป๊ฒŒ ํ’€์ง€? ์˜ค์ž‰๊ทธ๋ž˜์„œ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์–ด๋–ป๊ฒŒ ํ‘ธ๋Š” ์ง€ ์ข€ ์ฐพ์•„ ๋ดค๋‹ค. ๊ทธ๋ƒฅ ์ด์ค‘ํฌ๋ฌธ์œผ๋กœ ํ‘ธ๋Š”๊ฒŒ ๋” ๊ฐ„๋‹จํ•œ ๊ฒƒ ๊ฐ™๋‹ค. prices์˜ ์ธ๋ฑ์Šค๋ฅผ ์Šคํƒ์— ๋„ฃ์–ด ์ฃผ๋ฉด์„œ ํ˜„์žฌ ๊ฐ€๊ฒฉ๊ณผ ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ„ ๊ฐ€๊ฒฉ์„ ๋น„๊ตํ•ด์ค€๋‹ค. ์Šคํƒ์ด ๋น„์–ด์žˆ์ง€ ์•Š๊ณ , ํ˜„์žฌ ๊ฐ€๊ฒฉ์ด ์Šคํƒ์˜ ๊ฐ€์žฅ ์œ„ ๊ฐ€๊ฒฉ๋ณด๋‹ค ์ž‘์œผ๋ฉด ๋ฐ”๋กœ ๊ฐ€๊ฒฉ์ด..
1. ๋ฌธ์ œ์„ค๋ช…2. ์ ‘๊ทผ๋ฐฉ์‹1) ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ’€๊ธฐ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๋‹ซํžŒ ๊ด„ํ˜ธ์™€ ์—ด๋ฆฐ ๊ด„ํ˜ธ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๊ณ  ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด true, ํ‹€๋ฆฌ๋ฉด false ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ• 2) ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด„ํ˜ธ์˜ ์ง์„ ๋งž์ถ”๋Š” ๋ฐฉ๋ฒ•๋‹จ์ˆœํžˆ ์ƒ๊ฐํ•ด์„œ ๊ด„ํ˜ธ๊ฐ€ ์—ด๋ฆฐ ๊ฒฝ์šฐ ์Šคํƒ์— ๋„ฃ๊ณ , ๋‹ซํžŒ ๊ด„ํ˜ธ๊ฐ€ ๋‚˜์˜ค๋ฉด ์Šคํƒ์—์„œ ๊บผ๋‚ด๋Š” ๋ฐฉ์‹ 3. ๋ฌธ์ œํ’€์ด3-1. ์Šคํƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ’€๊ธฐํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ๋Š” ํ/์Šคํƒ ์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๋Š” ๋ฌธ์ œ์ด์ง€๋งŒ ๊ตณ์ด ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๊น”๋”ํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ์—ด๋ฆฐ ๊ด„ํ˜ธ๋ฅผ openCnt, ๋‹ซํžŒ ๊ด„ํ˜ธ๋ฅผ closeCnt ์— ์ €์žฅํ•ด์„œ ๊ทธ ๊ฐฏ์ˆ˜๊ฐ€ ์ผ์น˜ํ•˜๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค. class Solution {    boolean solution(String s) {     ..
1. ๋ฌธ์ œ์„ค๋ช…ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒ€์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ์€ ์ง„๋„๊ฐ€ 100%์ผ ๋•Œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์†๋„๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ๋ณด๋‹ค ๋จผ์ € ๊ฐœ๋ฐœ๋  ์ˆ˜ ์žˆ๊ณ , ์ด๋•Œ ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋  ๋•Œ ํ•จ๊ป˜ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ฐฐํฌ๋˜์–ด์•ผ ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ž‘์—…์˜ ์ง„๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด progresses์™€ ๊ฐ ์ž‘์—…์˜ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด speeds๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ ๋ฐฐํฌ๋งˆ๋‹ค ๋ช‡ ๊ฐœ์˜ ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ์ž‘์—…์˜ ๊ฐœ์ˆ˜(progresses, speeds๋ฐฐ์—ด์˜ ๊ธธ์ด)๋Š” 100๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค.์ž‘์—… ์ง„๋„๋Š” 100 ๋ฏธ๋งŒ์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.์ž‘์—… ์†๋„๋Š” 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜..
1. ๋ฌธ์ œ์„ค๋ช…๋ฐฐ์—ด arr๊ฐ€ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ๋ฐฐ์—ด arr์˜ ๊ฐ ์›์†Œ๋Š” ์ˆซ์ž 0๋ถ€ํ„ฐ 9๊นŒ์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ, ๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ํ•˜๋‚˜๋งŒ ๋‚จ๊ธฐ๊ณ  ์ „๋ถ€ ์ œ๊ฑฐํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๋‹จ, ์ œ๊ฑฐ๋œ ํ›„ ๋‚จ์€ ์ˆ˜๋“ค์„ ๋ฐ˜ํ™˜ํ•  ๋•Œ๋Š” ๋ฐฐ์—ด arr์˜ ์›์†Œ๋“ค์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด,arr = [1, 1, 3, 3, 0, 1, 1] ์ด๋ฉด [1, 3, 0, 1] ์„ return ํ•ฉ๋‹ˆ๋‹ค.arr = [4, 4, 4, 3, 3] ์ด๋ฉด [4, 3] ์„ return ํ•ฉ๋‹ˆ๋‹ค.๋ฐฐ์—ด arr์—์„œ ์—ฐ์†์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” ์ˆซ์ž๋Š” ์ œ๊ฑฐํ•˜๊ณ  ๋‚จ์€ ์ˆ˜๋“ค์„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด ์ฃผ์„ธ์š”.์ œํ•œ์‚ฌํ•ญ๋ฐฐ์—ด arr์˜ ํฌ๊ธฐ : 1,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜๋ฐฐ์—ด arr์˜ ์›์†Œ์˜ ํฌ๊ธฐ : 0๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  9๋ณด..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'์Šคํƒ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ