๐ ์ ๊ณต ๊ณต๋ถ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. ์ด์ 1 ยทยทยท 3 4 5 6 7 8 9 10 ๋ค์ 728x90 ๋ฐ์ํ