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

๐Ÿ“š ์ „๊ณต ๊ณต๋ถ€55

[SQL] mysql ๋‚ด์žฅํ•จ์ˆ˜ ์ •๋ฆฌ ๋ฌธ์ž์—ด ํ•จ์ˆ˜ CONCAT(): 2๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž์—ด์„ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค. SELECT CONCAT('Hello', 'World'); -- Output: HelloWorld SUBSTR(): ๋ฌธ์ž์—ด์—์„œ ํ•˜์œ„ ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. SELECT SUBSTR('Hello World', 7); -- Output: World UPPER(): ๋ฌธ์ž์—ด์„ ๋Œ€๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. SELECT UPPER('Hello World'); -- Output: HELLO WORLD LOWER(): ๋ฌธ์ž์—ด์„ ์†Œ๋ฌธ์ž๋กœ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค. SELECT LOWER('Hello World'); -- Output: hello world LENGTH(): ๋ฌธ์ž์—ด ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. SELECT LENGTH('Hello World'); -- Output: 11 ์ˆซ.. 2023. 3. 3.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] Greedy algorithm - ์ด์ง‘ํŠธ ๋‚˜๋ˆ—์…ˆ(cpp) ๋ฌธ์ œ ์ด์ง‘ํŠธ ๋‚˜๋ˆ—์…ˆ์„ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ž…๋ ฅ p/q๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๋‘ ์ •์ˆ˜ p, q๊ฐ€ ์‚ฌ์ด์— ๊ณต๋ฐฑ์„ ํ•˜๋‚˜ ๋‘๊ณ  ์ฃผ์–ด์ง„๋‹ค. p๋Š” 1 ์ด์ƒ 1,000 ์ดํ•˜, q๋Š” p+1 ์ด์ƒ 2,000 ์ดํ•˜์ธ ์ •์ˆ˜ ์ถœ๋ ฅ ์ˆ˜์—… ์‹œ๊ฐ„์— ๋ฐฐ์šด ์ด์ง‘ํŠธ ๋‚˜๋ˆ—์…ˆ์˜ ๊ฒฐ๊ณผ๋กœ ๋ช‡ ๊ฐœ์˜ ๋ถ„์ˆ˜๊ฐ€ ๋‚˜์˜ค๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 5/6์€ 1/2 + 1/3์ด๋ฏ€๋กœ 2๊ฐœ์˜ ๋ถ„์ˆ˜๊ฐ€ ํ•„์š”ํ•˜๋‹ค. ์˜ˆ์ œ ์ž…๋ ฅ 1 5 6 ์˜ˆ์ œ ์ถœ๋ ฅ 1 2 ์˜ˆ์ œ ์ž…๋ ฅ 2 19 20 ์˜ˆ์ œ ์ถœ๋ ฅ 2 4 ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ˆ˜์—…์˜ ์ฒซ ๊ณผ์ œ์˜€๋‹ค. ์ด์ง‘ํŠธ ๋‚˜๋ˆ—์…ˆ์ด๋ž€, ์œ ๋ฆฌ์ˆ˜ p/q๊ฐ€ ์ฃผ์–ด์ง€๋ฉด ๋ถ„์ž๊ฐ€ 1์ธ ๋ถ„์ˆ˜๋“ค์˜ ํ•ฉ์œผ๋กœ p/q๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์˜ˆ) 5/6 = 1/2 + 1/3 , 3/4 = 1/2 + 1/4 ์š•์‹ฌ์Ÿ์ด ๊ธฐ๋ฒ•, ํ”ํžˆ Greedy ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋ผ๊ณ  ๋ถ€๋ฅด๋Š” ๊ธฐ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํ’€์ดํ•  .. 2023. 2. 9.
[SQLD] ์ „๊ณต์ž sqld ์‹œํ—˜ ํ›„๊ธฐ/ ์ค€๋น„๋ฐฉ๋ฒ•/ ๊ณต๋ถ€ https://www.dataq.or.kr/www/main.do โฌ†โฌ† ๋ฐ์ดํ„ฐ์ž๊ฒฉ๊ฒ€์ • ํ™ˆํŽ˜์ด์ง€ โฌ†โฌ† SQLD๋Š” SQL "๊ฐœ๋ฐœ์ž" ์ž๊ฒฉ์ฆ ์‹œํ—˜์˜ ์•ฝ์ž์ž…๋‹ˆ๋‹ค!! ์ „๋ฌธ๊ฐ€ ์‹œํ—˜(SQLP)์€ ์‹ค๊ธฐ๋„ ์žˆ๊ณ  ๋” ์–ด๋ ค์šด ๋ฐ˜๋ฉด์—, ๊ฐœ๋ฐœ์ž ์‹œํ—˜์€ ํ•„๊ธฐ๋งŒ ์น˜๋ฉด ๋˜๊ณ  ์ƒ๋Œ€์ ์œผ๋กœ ์‰ฌ์›Œ์„œ ๋Œ€ํ•™์ƒ๋“ค๋„ ๋งŽ์ด ์‘์‹œํ•˜๋”๋ผ๊ณ ์š”. ์ €๋Š” ํ•™๊ต์—์„œ "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ธฐ์ดˆ" ๊ณผ๋ชฉ์„ ์ˆ˜๊ฐ•ํ•˜๋ฉด์„œ, ์„ ๋ฐฐ์—๊ฒŒ SQLD ์‹œํ—˜์„ ๊ฐ™์ด ์น˜๋ฉด ์ข‹๋‹ค๋Š” ๋ง์„ ๋“ฃ๊ณ  ์‹œํ—˜์„ ์ค€๋น„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค! ์‚ฌ์‹ค ์ง„์งœ ์‹œํ—˜์ค€๋น„๋Š” 4์ผ๋™์•ˆ๋งŒ ํ•˜๊ธด ํ–ˆ๋Š”๋ฐ,...(์ „๊ณต์ž๋ผ์„œ) ์šฐ์„  DB ๊ณผ๋ชฉ์—์„œ ๊ธฐ๋ณธ์ ์ธ SQL๋ฌธ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ค ๋ฐฐ์šด ์ƒํƒœ์˜€๊ณ ์š”, ์–ผ๋งˆ์ „์— ์ค‘๊ฐ„๊ณ ์‚ฌ๋ฅผ ๋ณธ๋‹ค๊ณ  ๊ณต๋ถ€๋„ ์—ด์‹ฌํžˆ ํ•ด ๋†“์€ ์ƒํƒœ๋ผ์„œ ์ž˜์น  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ฒƒ ๊ฐ™๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค ์šฐ์„ , SQL ์‹œํ—˜์„ ์น˜์‹ค ์ƒ๊ฐ์ด๋ผ๋ฉด ์•„๋ž˜ ์นดํŽ˜์— .. 2023. 1. 16.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ์ •๋ ฌ์˜ ์ตœ์ ์„ฑ ์ •๋ ฌ์˜ ์ตœ์ ์„ฑ ์•ž์—์„œ ์šฐ๋ฆฌ๋Š” ์—ฐ์†ํ•œ ๋‘ ์›์†Œ๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ •๋ ฌํ•˜๋ฉด, O(n2) ๋ณด๋‹ค ์ข‹์€ ์‹œ๊ฐ„ ๋ณต์žก๋„๋ฅผ ์–ป์„ ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์˜€๋‹ค. ๊ทธ ๋‹ค์Œ์— ๋ฐฐ์šด ์ •๋ ฌ ๋ฐฉ์‹์ธ ํ€ต์ •๋ ฌ, ๋ณ‘ํ•ฉ์ •๋ ฌ, ํž™์ •๋ ฌ ์—์„œ๋Š” ๋ฉ€๋ฆฌ ๋–จ์–ด์ง„ ๋‘ ์›์†Œ๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ตํ™˜ํ•จ์œผ๋กœ์จ ์ด๋ณด๋‹ค ๋น ๋ฅธ ์‹œ๊ฐ„ ๋ณต์žก๋„์ธ O(n log n) ์‹œ๊ฐ„์„ ์–ป์„ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์ด์ œ ์šฐ๋ฆฌ๊ฐ€ ๋‹ค์‹œ ๋น„์Šทํ•œ ์งˆ๋ฌธ์„ ํ•ด๋ณด์ž. O(n log n)๋ณด๋‹ค ๋” ๋น ๋ฅด๊ฒŒ ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๊ฒ ๋Š”๊ฐ€? ์ •๋ฆฌ. ๋‘ ์›์†Œ๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ตํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ๋Š” O(n log n)๋ณด๋‹ค ๋” ๋น ๋ฅด๊ฒŒ ์ •๋ ฌ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†๋‹ค. ์ฆ๋ช…. ์˜์‚ฌ ๊ฒฐ์ • ํŠธ๋ฆฌ(decision tree)๋Š” ์–ด๋–ค ๋ฌธ์ œ์— ๋Œ€ํ•ด์„œ ํŒ๋‹จ์„ ๋‚ด๋ฆฌ๋Š” ๊ณผ์ •์„ ํŠธ๋ฆฌ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค. ๋ฃจํŠธ๋Š” ๋ฌธ์ œ๋ฅผ ํ’€๊ธฐ ์œ„ํ•ด์„œ ์ฒ˜์Œ ์‹œ์ž‘ํ•˜๋Š” ์ง€์ ์ด๋‹ค. ๋ฃจํŠธ๋ฅผ.. 2023. 1. 16.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋น„๊ต๊ธฐ๋ฐ˜ ์ •๋ ฌ์˜ ํ•œ๊ณ„/๋น„๊ต์— ๊ธฐ๋ฐ˜ํ•˜์ง€ ์•Š์€ ์ •๋ ฌ ๋น„๊ต ๊ธฐ๋ฐ˜ ์ •๋ ฌ์˜ ์‹œ๊ฐ„๋ณต์žก๋„ ํ•œ๊ณ„ ์œ„ ํŠธ๋ฆฌ๋Š” ์ด์ง„ ํŠธ๋ฆฌ์ด๋‹ค. (ํฌ๊ธฐ ๋น„๊ต์— ๋”ฐ๋ฅธ ๋‘ ๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜) ํŠธ๋ฆฌ์˜ ๋ฆฌํ”„ ์ˆ˜ L์€ n๊ฐœ์˜ ๊ฐ’์„ ์ •๋ ฌํ•˜๋Š” ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ํฌํ•จํ•œ๋‹ค. L = n! ≤ 2^h h ≥ log L = log(n!) (n/2)^(n/2) ≤ n! ≤ n^n log(n!) = Ω(n log n) ๋”ฐ๋ผ์„œ ๋‘ ์›์†Œ์˜ ๋น„๊ต์— ๊ธฐ๋ฐ˜ํ•œ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Ω(n log n)๋ณด๋‹ค ๋น ๋ฅผ ์ˆ˜ ์—†๋‹ค. ๋น„๊ต์— ๊ธฐ๋ฐ˜ํ•˜์ง€ ์•Š์€ ์ •๋ ฌ 1 : ๋ฒ„ํ‚ท ์ •๋ ฌ ์ •๋ ฌ๋  ๋ฐ์ดํ„ฐ๊ฐ€ ์ž๋ฆฟ์ˆ˜ ๊ฐœ๋…์ด ์žˆ๋‹ค๋ฉด, ์ด๋ฅผ ์ด์šฉํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ •๋ ฌ๋  ๋ฐ์ดํ„ฐ๊ฐ€ ํƒ๋ฐฐ ์ฃผ์†Œ(~์‹œ ~๊ตฌ ~๋™)๋ผ๋ฉด, ์ฒ˜์Œ ์œ„์น˜(~์‹œ)๋งŒ ๋ณด๊ณ ๋„ ๋ฐ์ดํ„ฐ ๋ถ„๋ฅ˜๊ฐ€ ๊ฐ€๋Šฅ. ๋ถ„๋ฅ˜ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ๊ฐ ์ •๋ ฌํ•˜๊ณ , ์ด๋ฅผ ์ด์œผ๋ฉด ์ •๋ ฌ ์™„๋ฃŒ ์‹œ๊ฐ„ ๋ณต์žก๋„ : Best = c๊ฐœ์˜ ๋ฒ„ํ‚ท์œผ๋กœ ๋ชจ๋“  ์›์†Œ.. 2023. 1. 16.
[์•Œ๊ณ ๋ฆฌ์ฆ˜] ๋น„๊ต ๊ธฐ๋ฐ˜ ์ •๋ ฌ ๋ฌธ์ œ ์ •๋ ฌ ๋ฌธ์ œ→ ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์กด์žฌํ•˜๋ฉฐ, ๋ฐฉ๋ฒ•๋งˆ๋‹ค ํŠน์ง•์ด ๋‹ค๋ฆ„ → ์‹œ๊ฐ„๋ณต์žก๋„, ์ตœ์ ์„ฑ์— ๋Œ€ํ•ด ์ฆ๋ช…์ด ์‰ฌ์›€ → n๊ฐœ์˜ ์„œ๋กœ ๋‹ค๋ฅธ ์ˆ˜๊ฐ€ ์ฃผ์–ด์งˆ ๋–„, ์ด๋“ค์„ ์ด๋™ํ•˜์—ฌ ์ ์  ์ปค์ง€๊ฒŒ(์˜ค๋ฆ„์ฐจ์ˆœ) ๋˜๋Š” ์ ์  ์ž‘์•„์ง€๊ฒŒ(๋‚ด๋ฆผ์ฐจ์ˆœ)์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฌธ์ œ ๊ฐ€์ • : ์ •๋ ฌํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด์˜ ๊ฐ ์›์†Œ๋ฅผ O(1)์‹œ๊ฐ„์— ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๋‹ค. (= ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฉ”์ธ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์–ด ์žˆ๋‹ค.) ๋ฒ„๋ธ” ์ •๋ ฌ ๋งจ ์™ผ์ชฝ ์›์†Œ๋ถ€ํ„ฐ ๋ฐ”๋กœ ์ด์›ƒํ•œ ์›์†Œ์™€ ๋น„๊ตํ•ด๊ฐ€๋ฉด์„œ, ํฐ ์ˆ˜๊ฐ€ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ๊ฐ€๋„๋ก ๊ตํ™˜ํ•จ. ๋งจ ๋๊นŒ์ง€ ๊ฐ€๋ฉด ๊ฐ€์žฅ ํฐ ์›์†Œ๋ฅผ ์ฐพ์€ ๊ฒƒ์ด๋ฏ€๋กœ, ์ด ๊ณผ์ •์„ ๋‹ค์‹œ ๋‚˜๋จธ์ง€ n-1๊ฐœ ์ˆ˜์— ๋Œ€ํ•ด์„œ ๋ฐ˜๋ณต ์ •ํ™•์„ฑ : ์ž๋ช…ํ•จ ์‹œ๊ฐ„ ๋ณต์žก๋„ : ์ฒ˜์Œ ๊ฐ€์žฅ ํฐ ์›์†Œ๋ฅผ ๊ตฌํ•  ๋•Œ n-1๋ฒˆ ๋น„๊ต, ๋‘ ๋ฒˆ์งธ ํฐ ์›์†Œ๋ฅผ ๊ตฌํ•  ๋•Œ n-2๋ฒˆ ๋น„๊ต (n-1) + (n-2) + … + 1 =.. 2023. 1. 16.
728x90
๋ฐ˜์‘ํ˜•