๋ชฉ๋กDEV_IN (89)

let's get IT with DAVINA ๐Ÿ’ป

[Error] octal literals are not allowed in strict mode

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด ์ค‘, ๋ฌธ์ œ ์ž์ฒด๋Š” ์–ด๋ ต์ง€ ์•Š์•˜์ง€๋งŒ ๊ณ„์† ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค๊ฐ€ console์— ์ž…๋ ฅํ–ˆ์„๋•Œ์™€ ๋‹ค๋ฅธ output์„ returnํ•˜๊ธธ๋ž˜ ํ•œ์ฐธ์„ ํ•ด๋งธ๋‹ค.. ํ•œ debugging tool์„ ์ด์šฉํ•ด์„œ ํ•œ๋‹จ๊ณ„์”ฉ ๋‚ด ์ฝ”๋“œ๋ฅผ ๋œฏ์–ด๋ณด๊ณ ์ž ํ–ˆ๋”๋‹ˆ "octal literals are not allowed in strict mode" ๋ž€ ์—๋Ÿฌ์™€ ๋งˆ์ฃผ์ณค๋‹ค.. ์ƒ์ „ ์ฒ˜์Œ๋ณด๋Š” ์—๋Ÿฌ๋ผ ์ž‘์„ฑํ•œ๋‹ค ๋ธ”๋กœ๊ทธ! ๐Ÿšซ octal literals are not allowed in strict mode 010๊ณผ ๊ฐ™์€ ๋ฆฌํ„ฐ๋Ÿด์„ ์‚ฌ์šฉํ•  ๋•Œ ๋งŒ๋‚  ์ˆ˜ ์žˆ๋Š” ์˜ค๋ฅ˜๋ผ๊ณ  ํ•œ๋‹ค. es6 ๋ชจ๋“ˆ์„ ์ •์˜ํ•˜๋Š” ๊ฒฝ์šฐ ๋ชจ๋“ˆ์˜ ์Šค์ฝ”ํ”„๋Š” ์ž๋™์œผ๋กœ strict ๋ชจ๋“œ๊ฐ€ ๋˜๋Š”๋ฐ ํŠน๋ณ„ํžˆ strict ๋ชจ๋“œ์—์„œ๋Š” ์ด์ „์˜ 010 ๊ณผ ๊ฐ™์€ 8์ง„์ˆ˜ ํ‘œ๊ธฐ๋ฒ•์„ ์• ๋งคํ•œ ํ‘œ๊ธฐ๋ฒ•์œผ๋กœ ๊ทœ์ •ํ•ด ..

[์ž๋ฃŒ๊ตฌ์กฐ/์„ ํ˜•๊ตฌ์กฐ] ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ

์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ ์›์†Œ๋“ค์„ ์ €์žฅํ•  ๋•Œ ๊ทธ ๋‹ค์Œ ์›์†Œ๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋ฅผ ํฌํ•จ์‹œํ‚ค๋Š” ๋ฐฉ์‹์œผ๋กœ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒ๊ตฌ์กฐ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์„ฑ์งˆ k๋ฒˆ์งธ ์›์†Œ๋ฅผ ํ™•์ธ/๋ณ€๊ฒฝํ•˜๊ธฐ ์œ„ํ•ด O(k)๊ฐ€ ํ•„์š”ํ•จ ์šฐ๋ฆฌ๋Š” ์ฒซ ๋ฒˆ์งธ ์›์†Œ์˜ ์ฃผ์†Œ๋งŒ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ, ์ฐจ๊ทผ์ฐจ๊ทผ ๋‹ค์Œ ์ฃผ์†Œ๋กœ ๋„˜์–ด๊ฐ€๋ฉฐ ์ฐพ์•„์•ผ ํ•จ ์ž„์˜์˜ ์œ„์น˜์— ์›์†Œ๋ฅผ ์ถ”๊ฐ€/์ œ๊ฑฐ๋Š” O(1) ์ด์ „ ์›์†Œ์— ๋‹ค์Œ ์ฃผ์†Œ๋ฅผ ๋ณ€๊ฒฝ๋งŒ ํ•ด์ฃผ๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ, ์ถ”๊ฐ€/์ œ๊ฑฐ ํ•˜๊ณ  ์‹ถ์€ ์œ„์น˜์˜ ์ฃผ์†Œ๋ฅผ ์•Œ๊ณ  ์žˆ์„ ๊ฒฝ์šฐ์—๋งŒ O(1) ์›์†Œ๋“ค์ด ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ์—ฐ์†ํ•ด์žˆ์ง€ ์•Š์•„ Cache hit rate๊ฐ€ ๋‚ฎ์ง€๋งŒ ํ• ๋‹น์ด ๋‹ค์†Œ ์‰ฌ์›€ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ์˜ ์ข…๋ฅ˜ ๋‹จ์ผ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ : ๊ฐ ์›์†Œ๊ฐ€ ์ž์‹ ์˜ ๋‹ค์Œ ์›์†Œ์˜ ์ฃผ์†Œ๋ฅผ ๋“ค๊ณ  ์žˆ์Œ ์ด์ค‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ : ๊ฐ ์›์†Œ๊ฐ€ ์ž์‹ ์˜ ์ด์ „ & ๋‹ค์Œ ์ฃผ์†Œ๋ฅผ ๋‘˜ ๋‹ค ๋“ค๊ณ  ์žˆ์Œ ์›ํ˜• ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ : ๋์ด ์ฒ˜..

DEV_IN/Algorithm 2023. 3. 8. 17:08
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]Lv0. ํ”ผ์ž๋‚˜๋ˆ ๋จน๊ธฐ(2) ๐Ÿ•

โ“ ๋ฌธ์ œ ์„ค๋ช… ๋จธ์“ฑ์ด๋„ค ํ”ผ์ž๊ฐ€๊ฒŒ๋Š” ํ”ผ์ž๋ฅผ ์—ฌ์„ฏ ์กฐ๊ฐ์œผ๋กœ ์ž˜๋ผ ์ค๋‹ˆ๋‹ค. ํ”ผ์ž๋ฅผ ๋‚˜๋ˆ ๋จน์„ ์‚ฌ๋žŒ์˜ ์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, n๋ช…์ด ์ฃผ๋ฌธํ•œ ํ”ผ์ž๋ฅผ ๋‚จ๊ธฐ์ง€ ์•Š๊ณ  ๋ชจ๋‘ ๊ฐ™์€ ์ˆ˜์˜ ํ”ผ์ž ์กฐ๊ฐ์„ ๋จน์–ด์•ผ ํ•œ๋‹ค๋ฉด ์ตœ์†Œ ๋ช‡ ํŒ์„ ์‹œ์ผœ์•ผ ํ•˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”. ๐Ÿšซ ์ œํ•œ์‚ฌํ•ญ 1 โ‰ค n โ‰ค 100 ๐Ÿ—๏ธ ์ž…์ถœ๋ ฅ ์˜ˆ n result 6 1 10 5 4 2 โ—๏ธ ๋น„๋‹ˆ's ํ’€์ด n์ด 6์˜ ๋ฐฐ์ˆ˜๊ฐ€ ๋˜๋Š” ์ˆœ๊ฐ„๊นŒ์ง€ ๊ณ„์† n์—๋„ k๋ฅผ ๊ณฑํ•ด์ฃผ๋ฉฐ ์ฃผ์„์˜ ์‹์„ ๋งŒ๋“ค๋ ค๋‹ค ๋ณด๋‹ˆ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋กœ ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜์ง€ ๋ชปํ–ˆ๋‹ค.. ๊ฒฐ๊ตญ ์—ฌ๋Ÿฌ ๊ฒ€์ƒ‰์„ ํ•ด๋ณธ ๋’ค, ์• ์ดˆ์— k=6์œผ๋กœ ํ• ๋‹นํ•˜์—ฌ 6์˜๋ฐฐ์ˆ˜๋ฅผ ๋Š˜๋ ค๋‚˜๊ฐ€๋ฉฐ n์œผ๋กœ ๋‚˜๋ˆ ๋–จ์–ด์ง€๋Š” ์ˆœ๊ฐ„๊นŒ์ง€ k๋ฅผ ๋Š˜๋ ค์ฃผ๋ฉด ๋˜๋Š”๊ฑฐ์˜€๋‹ค.. ๋‚˜๋Š” n์„ ์–ด๋–ป๊ฒŒ๋“  ๋ฐ”๊พธ๋ ค๊ณ  ๊ณ„์† ๋Œ€์ž…ํ•˜๊ณ  ๋ฐ”๊ฟจ๋Š”๋ฐ ..

[์ž๋ฃŒ๊ตฌ์กฐ/์„ ํ˜•๊ตฌ์กฐ] ๋ฐฐ์—ด

๋ฐฐ์—ด ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ์›์†Œ๋ฅผ ์—ฐ์†ํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•œ ์ž๋ฃŒ๊ตฌ์กฐ ๋ฐฐ์—ด์˜ ์„ฑ์งˆ O(1)์— k๋ฒˆ์งธ ์›์†Œ๋ฅผ ํ™•์ธ/๋ณ€๊ฒฝ ๊ฐ€๋Šฅ ์ถ”๊ฐ€์ ์œผ๋กœ ์†Œ๋ชจ๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์˜ ์–‘(=overhead)๊ฐ€ ๊ฑฐ์˜ ์—†์Œ Cache hit rate๊ฐ€ ๋†’์Œ cache hit rate: ์บ์‹œ๊ฐ€ ์ ์ค‘๋˜๋Š” ์ •๋„ ๋ฉ”๋ชจ๋ฆฌ ์ƒ์— ์—ฐ์†ํ•œ ๊ตฌ๊ฐ„์„ ์žก์•„์•ผ ํ•ด์„œ ํ• ๋‹น์— ์ œ์•ฝ์ด ๊ฑธ๋ฆผ ๊ธฐ๋Šฅ๊ณผ ๊ตฌํ˜„ ์ž„์˜์˜ ์œ„์น˜์— ์žˆ๋Š” ์›์†Œ๋ฅผ ํ™•์ธ/๋ณ€๊ฒฝ โ†’ O(1) ์›์†Œ๋ฅผ ๋์— ์ถ”๊ฐ€ โ†’ O(1) ๋งˆ์ง€๋ง‰ ์›์†Œ๋ฅผ ์ œ๊ฑฐ โ†’ O(1) ์ž„์˜์˜ ์œ„์น˜์— ์›์†Œ๋ฅผ ์ถ”๊ฐ€/์ œ๊ฑฐ โ†’ O(N) ex) ๋งˆ์น˜ ์ฑ…์žฅ์— ์ฑ…์ด ์—ฐ์†ํ•ด์„œ ๊ฝ‚ํ˜€์žˆ์„ ๋•Œ ์ค‘๊ฐ„์— ์ฑ…์„ ๋„ฃ๊ธฐ ์œ„ํ•ด์„  ๋‚˜๋จธ์ง€ ์ฑ…๋“ค์„ ๋ฐ€์–ด์•ผํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ƒํ™ฉ insert ํ•จ์ˆ˜ void insert(int idx, int num, int arr[], int&len){ for(l..

DEV_IN/Algorithm 2023. 3. 8. 02:06
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค]Lv0. ์ตœ๋นˆ๊ฐ’ ๊ตฌํ•˜๊ธฐ

์ตœ๋นˆ๊ฐ’ ๊ตฌํ•˜๊ธฐ ๋„ˆ๋ฌด ์–ด๋ ค์› ๋‹ค.. ๋‹ค๋นˆ๊ฐ’ ๊ตฌํ•˜๊ธฐ.. ํ˜ผ์ž ํž˜์œผ๋กœ๋Š” ๋„์ €ํžˆ ์ƒ๊ฐ์•ˆ๋‚˜์„œ ์—ฌ๋Ÿฌ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด๋ดค์ง€๋งŒ.. ์ฒ˜์Œ์— ๋ฐฐ์—ด์ด ์•„๋‹Œ ๋นˆ ๊ฐ์ฒด์— ๋„ฃ์–ด์ค€๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•˜๋Š”๊ฒŒ ์ ค ๋ฉ˜๋ถ•์ด์—ˆ๋‹ค.. ๊ฒจ์šฐ๊ฒจ์šฐ ์—ฌ๋Ÿฌ ๊ฐœ๋ฅผ ์งฌ๋ฝ•ํ•ด์„œ ๋‚ด๊ฐ€ ์ดํ•ดํ•œ๋Œ€๋กœ ์ฝ”๋“œ๋ฅผ ์งœ๊ณ  ๊ฒจ์šฐ ํ†ต๊ณผ ํ–ˆ๋‹ค์š”.. โ“ ๋ฌธ์ œ ์„ค๋ช… ์ตœ๋นˆ๊ฐ’์€ ์ฃผ์–ด์ง„ ๊ฐ’ ์ค‘์—์„œ ๊ฐ€์žฅ ์ž์ฃผ ๋‚˜์˜ค๋Š” ๊ฐ’์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ •์ˆ˜ ๋ฐฐ์—ด array๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์ตœ๋นˆ๊ฐ’์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”. ์ตœ๋นˆ๊ฐ’์ด ์—ฌ๋Ÿฌ ๊ฐœ๋ฉด -1์„ return ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿšซ ์ œํ•œ์‚ฌํ•ญ 0

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ์œ ํ˜•] Greedy Algorithm

Greedy Algorithm (ํƒ์š• ์•Œ๊ณ ๋ฆฌ์ฆ˜) ์„ ํƒ์˜ ์ˆœ๊ฐ„๋งˆ๋‹ค ๋‹น์žฅ ๋ˆˆ์•ž์— ๋ณด์ด๋Š” ์ตœ์ ์˜ ์ƒํ™ฉ๋งŒ์„ ์ซ“์•„ ์ตœ์ข…์ ์ธ ํ•ด๋‹ต์— ๋„๋‹ฌํ•˜๋Š” ๋ฐฉ๋ฒ• Greedy Algorithm ๋ฌธ์ œ ํ•ด๊ฒฐ ๋‹จ๊ณ„ ๐Ÿ”ฝ ์„ ํƒ ์ ˆ์ฐจ(Selection Procedure): ํ˜„์žฌ ์ƒํƒœ์—์„œ์˜ ์ตœ์ ์˜ ํ•ด๋‹ต์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆ์„ฑ ๊ฒ€์‚ฌ(Feasibility Check): ์„ ํƒ๋œ ํ•ด๊ฐ€ ๋ฌธ์ œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํ•ด๋‹ต ๊ฒ€์‚ฌ(Solution Check): ์›๋ž˜์˜ ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์—ˆ๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๊ณ , ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์„ ํƒ ์ ˆ์ฐจ๋กœ ๋Œ์•„๊ฐ€ ์œ„์˜ ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. - ํƒ์š•์  ์„ ํƒ ์†์„ฑ(Greedy Choice Property) : ์•ž์˜ ์„ ํƒ์ด ์ดํ›„์˜ ์„ ํƒ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. - ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ(Optimal Substructure) : ๋ฌธ์ œ์— ๋Œ€ํ•œ ..

DEV_IN/Algorithm 2023. 3. 7. 01:25