[ํ๋ ์ด๋ฐ์ดํฐ SK๋คํธ์์ค Family AI ์บ ํ 13๊ธฐ] - 2์ฃผ์ฐจ ํ๊ณ (4์ 1์ฃผ์ฐจ)
1. Phython ์์ ๋, SQL์ ์์
์ด๋ฒ์ฃผ ์์ ์ ํ์ด์ฌ ๋ท๋ถ๋ถ๊ณผ SQL์ ๋ฐฐ์ ๋ค. SQL์ ๊ฒฝ์ํ ์์ ์์ ๋ฐฐ์ ๋ ๊ธฐ์ต์ด ์์ด์ ์์ํ๊ฒ ์ ๋ฐ๋ผ๊ฐ ์ ์์๋ค. ์ฝ๊ฐ์ ์์ ๊ฐ up!
๊ทธ๋ฆฌ๊ณ ์ด๋ฒ์ฃผ ๊ณต๋ถ ๋ชฉํ๋ ์ ๋ฒ์ฃผ์ ๋ฐฐ์ด ๋ถ๋ถ๊ณผ ์ด๋ฒ์ฃผ์ ๋ฐฐ์ด ๋ถ๋ถ์ ๋์ ๋ณต์ตํ๋ ๊ฒ์ด์๋ค. ํ์ง๋ง! ๋๋ฌด๋๋ ์ด๋ ค์ด ํ์ด์ฌ์ด๊ธฐ์ ํผ์๋ ์คํจ.. ๋คํํ ์๋ณต์ต ์คํฐ๋์ ๋ค์ด๊ฐ์ ์์์ผ, ๋ชฉ์์ผ์ ํ์ด์ฌ ์ ์ฒด๋ฅผ ๋ณต์ตํ๋ค.
์์์ผ ์ฒซ ์คํฐ๋, ๋ชฉ์์ผ ๋๋ฒ์งธ ์คํฐ๋ ์ดํ ๋ชจ๋ ์์ ์ด์ ๊ทธ ์์ฒด์๋ค!
์ ๊ณต์์ธ ์งํ๋์ ์์์ ์พํ ์ค๋ช ์ผ๋ก ๋ชฐ๋๋ ๋ถ๋ถ์ ์์ํ๊ฒ ํด๊ฒฐํ๊ณ , ๋ช ์ธ๋์ ๋ช ์พํ ์ฝ๋ฉํ๋ ํ์ผ๋ก ํ์ด์ฌ๊ณผ ์กฐ๊ธ ๋ ์นํด์ง๋ ๊ธฐํ์๋ค. (์ฌ์ค ์งํ๋์ด ๋ฌธ์ ํ์ด ์์ ๋ด์ฃผ์ จ๋๋ฐ ... ๋นจ๋ฆฌ ํด์ผ๊ฒ ๋ค... )
ํนํ ๋ด๊ฐ for in ๋ฌธ comprehension์ ๋ํด ๊ณ์ ์ดํด๊ฐ ์ ์๋๋๋ฐ, ๋ค๋ช ์ด์ ์๊ธฐํด๊ฐ๋ฉฐ ์์๋ฅผ ๋ค์ด๋ณด๊ณ ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํํํด๋๊ฐ๋ฉด์ ์๋ฒฝํ๊ฒ ์ดํด๋ฅผ ํ ์ ์์๋ค. ํนํ for ์์ฒด๋ฅผ ~ํ๋ ๋์ ~ํด๋ผ. ๋ผ๋ ์์ผ๋ก ์๋ ค์ฃผ์ ์ ์ดํด๊ฐ ์ฝ๊ฒ ๋๋ค.
ํท๊ฐ๋ ธ๋ ์ปดํ๋ฆฌํจ์ ์ ์ด๋ถ๋ถ, ์กฐ๊ฑด์ ํ๋ฒ์ ํ์ค๋ก ์ฐ๋ ๊ฒ์ด ์ด๋ ค์ ๋ค.
result2 = [v for l in l2 for v in l if v % 2 !=0 ]
result2
์ค๋ช ์ ๋ค ๋ฃ๊ณ ๋ ํผ์ ์๊ฐํด์ ํํํ ๋ฐฉ๋ฒ์
" ์ด์ฝ๋ฆฟ ์์(l2) ์์ ์๋ถ๋์ด ์๋ ์ด์ฝ๋ฆฟ ์์(l1)๋ฅผ ๊น์ ํ์(v)๋ฅผ ๊บผ๋ธ๋ค" ๋ผ๊ณ ์ดํดํ๋ค.
1์ฃผ ๋๊ฒ ๊ฐ์ฅ ํท๊ฐ๋ ธ๋ ๋ถ๋ถ์ ์ง์ ๋ ์ ์์ด์ ์๋ฏธ์๋ ์๊ฐ์ด์๋ค.
์ฐ๋ฆฌ ์คํฐ๋ ์กฐ์๋ค ์ ๋ง๋๊ฑฐ ๊ฐ์์ ์์ผ๋ก์ ์คํฐ๋๊ฐ ๊ธฐ๋๋๋ค.
๋๋ ์ด์ฌํํด์ ๋์์ ์ค ์ ์์ผ๋ฉด ์ข์ํ ๋ฐ.. ๋ ์ด์ฌํ ํด๋ณด๊ฒ ์ต๋๋ค!
2. Phython ํ์ด์ฌ
2-1-1. ์๋กญ๊ฒ ๋ฐฐ์ด lambda ํจ์
calc(lambda n1, n2: n1 + n2) lambda x, y, z : x + y - z |
๋๋ค๋ anonymous function ์ด๋ผ๋ ๋ช
์นญ์ ๊ฐ๊ณ ์๋ค. ์ ์ธ ์์ด ๋๋ ์ด๋ฆ ์์ด ์ฌ์ฉํ ์ ์๋ ํจ์๋ค. return์ ์ฐ์ง์์์ ๊ฐ์ ๋ฐ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ๋ ์์ด ๋๋ค์์ด๋ค. ํจ์์ ์ ์ธ๋ถ๊ฐ ์๋ค! ๊ทธ๋์ ํ๋ฒ ์ฌ์ฉํ๋ฉด ๊ทธ๊ฑธ๋ก ๋์ด๋ค. |
2-1-2. ์ด๋ ค์์ ๋จธ๋ฆฌ๊ฐ ๋น๊ธ๋น๊ธ ๋ pickle
pickle ๋ชจ๋. ํ์ด์ฌ์ ์ฐ๋ ๊ณผ์ ์์ ๋ชจ๋ ๊ฒ์ bytes๋ก ๋ฐ๊พผ๋ค. ์ฌ์ง, ์์, ํ์ด์ฌ ์ธ์ด๊ฐ ์๋ ํ์ผ ๋ฑ ๊ฐ๊ฐ์ ํ์ ์ ์ ์ถ๋ ฅ์ฝ๋๊ฐ ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ก ๋ง๋๋ ๊ฒ์ด๋ค. ๋ฐ์ด๋๋ฆฌ ๋ฐ์ดํฐ๋ก ์ ์ถ๋ ฅ์ ์ฝ๊ฒ ์ฒ๋ฆฌํ ์ ์๊ฒ ํ๋ ๊ฒ์ด pickle ๋ชจ๋์ด๋ค. |
fw = open("date.pkl", "wb") fr = open("data.pkl", "rb") ์ฌ๊ธฐ์ ์ด ์ ์์ฒด๊ฐ ์ดํด๊ฐ ์ ์๊ฐ๋๋ฐ, fw์ fr์ ๋ณ์๋ผ๊ณ ๋ณด๊ณ , ๋ค๋ง ์ฝ์ผ๋ฉด ๋๋ค. ์ฝ๋ ๋ฐฉ๋ฒ์ : ์ด๊ฒ ๋ค - ๋ฐ์ดํฐ.ํผํด - ๋ฐ์ด๋๋ฆฌ๋ก ๊ฐ์ฒด๋ฅผ ์ ์ฅํ๊ธฐ ์ํด์. ๋ผ๋ ํ์ ๋ช ์ธ๋๊ป ์ป์๋ค! ๊ฐ์ฌํฉ๋๋ค! |
2-2. ์ค๋ฅ์ ์ง๋ฌธ์ ๊ธฐ
์ค๋ฅ | ๋ง์ง๋ง์ ์ค๋ฅ๊ฐ ๋ฌ๋ค. get info๋ฅผ ํ๋๋ฐ ์ค๋ช
๋ง ๋์์ ๋ญ๊ฐ ์๋ชป๋๋์ง ํ์ฐธ ์ณ๋ค๋ดค๋ค.![]() |
์ค๋ฅ ์ด์ | s.get_info๋ค์ ()๋ฅผ ์ฐ์ง ์์์ ์ค๋ฅ๊ฐ ๋ฌ๋ ๊ฒ์ด์๋ค. |
์ง๋ฌธ์ ๊ธฐ, ํด๊ฒฐ |
ํ์ด์ฌ์ ๊ณต๋ถํ๋ฉด์ ๊ธ ๋ค์ ()๋ง ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ์๊ณ , (~๊ธ~)์ ์ฐ๋ ๊ฒฝ์ฐ๊ฐ ์๋ ๊ฒ์ ์๋ฌธ์ ๊ฐ์ก๋ค. ์ด๋จ๋ ๊ดํธ๋ง ์ฐ๋๊ฐ์ถ์ด์ ์คํฐ๋ ์๊ฐ์ ์ง๋ฌธํ๋๋ ์ง๋๊ฐ๋ ์งํธ๋๊ป์ ์ค๋ช ํด์ฃผ์ จ๋ค. ํจ์ ์์ฒด์ ๋ต์ ๋ถ๋ฌ์ฌ ๋, ๋ค์ ๊ตณ์ด ์ ๋ณด๋ฅผ ์์จ๋ ๋ ๋ ๊ดํธ ์ฌ๋ซ๊ธฐ๋ง ํ๋ฉด ๋๋ค๊ณ ์๋ ค์ฃผ์ จ๋ค. ์ ๋ง ํ์ด์ฌ ์๋ชป์ ์ง๋ฌธ์ด์์ง๋ง, ํ์ด์ฌ ๊ตฌ์กฐ๋ฅผ ์๊ฒ ๋ ์ ์์๋ ์ค๋ฅ์๋ค. |
๋ฌธ์ | Q. ์์ ์ ์, ๋ ์ ์๋ฅผ ๋ฐ์ ๊ทธ ์ฌ์ด์ ๋ชจ๋ ์ ์์ ํฉ์ ๊ตฌํด์ ๋ฐํํ๋ ํจ์๋ฅผ ๊ตฌํ (ex. 1, 20 => 1์์ 20์ฌ์ด์ ๋ชจ๋ ์ ์์ ํฉ๊ณ) |
์ฒซ ํ์ด | ์ฒซ ํ์ด๋ sum(range(1,20)) ๊ฐ๋จํ๊ฒ ํ์๋ค.... |
ํ๋ฆฐ์ด์ | ํจ์๋ฅผ ๊ตฌํํ๋ผ๊ณ ํ๋๋ฐ ์ฑ๊ฒฉ๊ธํ๊ฒ ๋ค์ ์์๋ง ๋ณด๊ณ ํ์ด๋ฅผํด๋ฒ๋ ธ๋ค. |
์๋ก์ด ํ์ด | def accumulate( start:int, end:int)->int result = 0 for v in range(start, end+1): result += v return result |
๊ณ ์ฐฐ | ์ค๊ฐ์ result = 0 ์ ๋์ ํฉ๊ณ๋ฅผ ์ ์ฅํ ๋ณ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ end+1์ range ํจ์์์ ๋ง์ง๋ง ๊ฐ์ ํฌํจํ์ง ์๊ธฐ๋๋ฌธ์ +1์ ํด์ค์ผ๋ก์จ ์ํ๋๋ฒ์์ ์ซ์๋ฅผ ์ฝ์ ํ ์ ์๋ค. |
3. SQL
3-1. select case when ์ ๋ํ ๊ถ๊ธ์ฆ
๋ฌธ์ | ![]() ![]() ![]() |
์๊ฐํด๋ณด๊ธฐ | 1. select ๋ค์ ๋์ค๋ salary ๋ค์๋ , ์ฝค๋ง๊ฐ ์ ์ค๋ ๊ถ๊ธํ๋ค. 2. case when ์์ ์ค๋ฅ๊ฐ ๋ฌ๋ค - > case when ๋ฌธ์์๋ is ๋ฅผ ์ฐ์ง ์๋๋ค. job ๋ค์ is ๋ฅผ ์จ์ ์ค๋ฅ๊ฐ ์๊พธ ๋ฌ๋๋ฐ, ๊ฐ์ด ๊ณต๋ถํ๋ ํธ์ฐ์ด๊ฐ ์๋ ค์ค์ ํด๊ฒฐํ๋ค. ๊ณ ๋ง์ต๋๋ค! 3. ๊ทธ๋ฆฌ๊ณ ๋ง์ง๋ง์ผ๋ก case when์ ์ฐ๋ฉด end๋ก ๋๋์ผํ๋คํ๋๋ฐ, ๋ง์ง๋ง ์์์์๋ end๊ฐ ์์ด์ ์ด ๋ถ๋ถ์ด ์กฐ๊ธ ๊ถ๊ธํ๋ค. ๋ค์์ฃผ์ ์ ์๋๊ป ๋ค์ ์ฌ์ญค๋ด์ผ๊ฒ ๋ค! |
3-2. ํผ์ ํด๊ฒฐํ ๋ฌธ์ ๋ค
๋ฌธ์ 1 | ![]() |
ํด๊ฒฐ | ceil ๊ณผ round์ ๋น๊ต๊ฐ ๊ถ๊ธํด์ก๋ค. ๋ค ๋ฐ์ฌ๋ฆผ ํ๋ ๊ฑด ๊ฐ์๋ฐ ์ด๋ค ์ฐจ์ด๊ฐ ์๋์ง ์๊ฐํด๋ณด๋, round๋ ์์์ ์๋ฆฌ๋ฅผ ์ ํ ์ ์๋ ์ฐจ์ด๊ฐ ์์๋ค. ๊ทธ๋ฆฌ๊ณ ๋๋ ๋ฌธ์ ๋ฅผ ํ๋ฉด์ ceil๊ณผ floor ๋ค์ ๊ดํธ๋ฅผ ๋ฃ์๋๋ฐ, ceil, floor ํน์ง์ ๊ดํธ๋ฅผ ์ฐ์ง ์์๋ ๋๋ ๊ฒ์ด์๋ค. |
๋ฌธ์ 2 | ![]() |
ํด๊ฒฐ | select if ํ๊ณ ๊ดํธ์น๋ฉด else๋ฅผ ์์จ๋ ๋๋ค. ํ์ด์ฌ์ if ์ ์ ์๊ฐํ๊ณ else๋ฅผ ์ผ๋๋ ์ค๋ฅ๊ฐ ๋ฌ๊ณ , SQL์์๋ ์ฝค๋ง๋ง ์ฐ์ผ๋ฉด ๋๋ ๊ฒ์ด์๋ค. |
๋ฌธ์ 3 | ![]() |
ํด๊ฒฐ | SQL์์๋ or์ ์์ฐ๊ณ in์ ์ด๋ค. ๊ทธ๋ฆฌ๊ณ and or์ ์ฐ์ฐ์ ์ฐ์ ์์๊ฐ ์๊ธฐ๋๋ฌธ์ ๋๋ค ์ฐ๊ฒ ๋๋ค๋ฉด and ๊ฐ 1์์, ๊ทธ๋ฆฌ๊ณ or์ ์ฐจ์์๊ฐ ๋๋ค. |
4. KPT
Keep
๋ณต์ต์ ๊พธ์คํ! ๋ชจ๋ฅด๋๊ฑด ์ฃผ๋ณ์ ์ฌ๊ธฐ์ ๊ธฐ ๋ค ๋ฌผ์ด๋ณด์. ๋ค๋ค ์ค๋ช ์ ์ํด์ฃผ์ ์ ๋ง์ด ๋ฐฐ์๊ฐ๋๋ค..
๊ฐ์ธ์ ์ธ ๋ชฉํ๋ก ๊ต์ค์ 1๋ฑ์ผ๋ก ๋ค์ด๊ฐ๋ณด์! ๋ฅผ ์ค์ฒํด๋ณด์๋๋ฐ 5์ผ ๋ด๋ด 1๋ฑ์ผ๋ก ๋์ฐฉํ๋ค ^ ^ (ํ๋ฃจ ํธ์ฐ์ด๊ฐ ๋ด๊ฐ ๋จผ์ ๋ค์ด๊ฐ๊ฒ ํด์ค์ ๊ฐ๋ใ ใ ใ ) ๋ค์์ฃผ๋ ๊ณ์ ๋์ !
![]() |
![]() |
![]() |
![]() |
![]() |
Problem
์ฌ์ค ์คํฐ๋ 1์ผ์ฐจ์ ๋ด๊ฐ ๋ชจ๋ฅด๋๊ฒ ์ด๋ ๊ฒ ๋ง์๋.. ํ๊ณ ์๊ดด๊ฐ์ด ๋ค์๋ค... ์๊ดด๊ฐ์ ๋ ์ด๊ณต์ ์๋๋ ฅ์ผ๋ก ๋ง๋ค์ด๋ณด์! ํ ์ ์๋ค!!
Try
์ฝ๋ฉํ ์คํธ ์คํฐ๋์ ๋ค์ด๊ฐ๋ค. ์ ๋ง ํ๋๋ ๋ชจ๋ฅด์ง๋ง... ์ผ๋จ ํด๋ณด์!