관리 메뉴

λͺ©λ‘μ „체 κΈ€ (352)

DATA101

[파이썬] reduce ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄μž(feat. lambda ν‘œν˜„μ‹)

μ˜€λŠ˜μ€ reduce ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ΄…λ‹ˆλ‹€. reduce ν•¨μˆ˜μ™€ λžŒλ‹€ ν‘œν˜„μ‹μ„ ν•¨κ»˜ μ‚¬μš©ν•˜λ©΄ μ½”λ“œλ₯Ό κ°„κ²°ν•˜κ³  μ§κ΄€μ μœΌλ‘œ μž‘μ„±ν•˜λŠ” 데 큰 도움이 λ©λ‹ˆλ‹€. λžŒλ‹€ ν‘œν˜„μ‹μ— λŒ€ν•œ ν¬μŠ€νŒ…μ€ μ•„λž˜ 링크λ₯Ό μ°Έκ³ ν•΄ μ£Όμ„Έμš”! heytech.tistory.com/17 [파이썬] lambda ν•¨μˆ˜λŠ” μ–Έμ œ, μ–΄λ–»κ²Œ μ“ΈκΉŒ? μ•ˆλ…•ν•˜μ„Έμš”, μ˜€λŠ˜μ€ 파이썬 λžŒλ‹€(lambda) ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. λ°”λ‘œ μ‹œμž‘ν•˜μ£ ! 1. Lambda ν•¨μˆ˜λŠ” μ–Έμ œ μ‚¬μš©ν•˜λ©΄ μ’‹μ„κΉŒ? νŒŒμ΄μ¬μ—μ„œ νŠΉμ • κΈ°λŠ₯을 κ΅¬ν˜„ν•˜κ³  반볡적으둜 μ§κ΄€μ μœΌλ‘œ μ‚¬μš©ν•˜κΈ° heytech.tistory.com reduce ν•¨μˆ˜λž€? reduce ν•¨μˆ˜λŠ” *반볡 κ°€λŠ₯ν•œ 객체(iterable object) λ‚΄ 각 μš”μ†Œλ₯Ό μ—°μ‚°ν•œ λ’€ 이전 μ—°μ‚° κ²°κ³Όλ“€κ³Ό λˆ„μ ν•΄μ„œ λ°˜ν™˜ν•΄ μ£ΌλŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. *..

SW 개발/Python 2021. 2. 26. 10:58
[파이썬] filter ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄μž(feat. lambda ν‘œν˜„μ‹)

μ˜€λŠ˜μ€ filter ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. μ§€λ‚œ ν¬μŠ€νŒ…μ—μ„œλŠ” λžŒλ‹€(lambda) ν‘œν˜„μ‹μ— λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€. filter ν•¨μˆ˜ ν•¨μˆ˜λŠ” λžŒλ‹€ ν‘œν˜„μ‹κ³Ό ν•¨κ»˜ μ‚¬μš©ν•˜μ‹œλ©΄ μ½”λ“œλ₯Ό λ”μš± κ°„κ²°ν•˜κ³  μ§κ΄€μ μœΌλ‘œ μž‘μ„±ν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€. λžŒλ‹€ ν‘œν˜„μ‹μ— λŒ€ν•œ ν¬μŠ€νŒ…μ€ μ•„λž˜ 링크λ₯Ό μ°Έκ³ ν•΄ μ£Όμ„Έμš”! heytech.tistory.com/17 filter ν•¨μˆ˜λž€? filter ν•¨μˆ˜λŠ” 단어 의미 κ·ΈλŒ€λ‘œ *반볡 κ°€λŠ₯ν•œ κ°μ²΄μ—μ„œ νŠΉμ • 쑰건에 참인 μš”μ†Œμ—λ§Œ 연산을 μˆ˜ν–‰ν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. *반볡 κ°€λŠ₯ν•œ 객체(iterable object)λž€? 말 κ·ΈλŒ€λ‘œ 반볡이 κ°€λŠ₯ν•œ κ°μ²΄λ‘œμ„œ μš”μ†Œκ°€ ν•˜λ‚˜μ˜ 객체에 μ—¬λŸ¬ κ°œκ°€ λ“€μ–΄μžˆκ³ , ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ μš”μ†Œμ”© μ‚¬μš©ν•  수 μžˆλŠ” 객체λ₯Ό λ§ν•©λ‹ˆλ‹€. λŒ€ν‘œμ μœΌλ‘œλŠ” λ¬Έμžμ—΄(string), 리슀트(list), λ”•μ…”λ„ˆ..

SW 개발/Python 2021. 2. 25. 10:54
[파이썬] map ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄μž(Feat. lambda ν‘œν˜„μ‹)

map ν•¨μˆ˜λž€? map ν•¨μˆ˜λŠ” *반볡 κ°€λŠ₯ν•œ 객체(iterable object)λ₯Ό μž…λ ₯λ°›κ³  각 μš”μ†Œμ— 연산을 μˆ˜ν–‰(맡핑, mapping)ν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. *반볡 κ°€λŠ₯ν•œ 객체(iterable object)λž€ 말 κ·ΈλŒ€λ‘œ 반볡이 κ°€λŠ₯ν•œ κ°μ²΄λ‘œμ„œ μš”μ†Œκ°€ ν•˜λ‚˜μ˜ 객체에 μ—¬λŸ¬ κ°œκ°€ λ“€μ–΄μžˆκ³ , ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ μš”μ†Œμ”© μ‚¬μš©ν•  수 μžˆλŠ” 객체λ₯Ό λ§ν•©λ‹ˆλ‹€. λŒ€ν‘œμ μœΌλ‘œλŠ” λ¬Έμžμ—΄(string), 리슀트(list), λ”•μ…”λ„ˆλ¦¬(dictionary), μ„ΈνŠΈ(set)κ°€ μžˆμŠ΅λ‹ˆλ‹€. μ—°μŠ΅ 문제 Q1. λ¦¬μŠ€νŠΈμ— 1λΆ€ν„° 10κΉŒμ§€μ˜ μ •μˆ˜κ°€ 담겼을 λ•Œ 각 μš”μ†Œλ³„ 제곱 값을 λ”°λ‘œ λ¦¬μŠ€νŠΈμ— μ €μž₯ν•˜μ—¬ 좜λ ₯ν•˜λŠ” μ½”λ“œλ₯Ό μž‘μ„±ν•˜μ‹œμ˜€. (1) map ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šμ€ μ½”λ“œ # μž…λ ₯된 값을 μ œκ³±ν•˜μ—¬ λ¦¬ν„΄ν•˜λŠ” ν•¨μˆ˜ def square_function(n):..

SW 개발/Python 2021. 2. 24. 09:50
μŠ€νƒ(Stack) 자료ꡬ쑰 이해(+ Python)

λ³Έ ν¬μŠ€νŒ…μ—μ„œλŠ” μŠ€νƒ(Stack) μžλ£Œκ΅¬μ‘°μ— λŒ€ν•΄ μ•Œμ•„λ΄…λ‹ˆλ‹€. πŸ“š λͺ©μ°¨ 1. μŠ€νƒ(Stack) μžλ£Œκ΅¬μ‘°λž€? 2. μŠ€νƒ λ™μž‘ μ˜ˆμ‹œ 3. μŠ€νƒ κ΅¬ν˜„(Python) 1. μŠ€νƒ(Stack) μžλ£Œκ΅¬μ‘°λž€? μŠ€νƒ μžλ£Œκ΅¬μ‘°λŠ” λ¨Όμ € λ“€μ–΄μ˜¨ 데이터가 늦게 λ‚˜κ°€λŠ” ν˜•νƒœμ˜ μžλ£Œκ΅¬μ‘°λ‘œμ„œ μ„ μž…ν›„μΆœ(ε…ˆε…₯εΎŒε‡Ί) λ°©μ‹μž…λ‹ˆλ‹€. μŠ€νƒ μžλ£Œκ΅¬μ‘°λŠ” μ•„λž˜μ˜ κ·Έλ¦Ό 1 κ³Ό 같이 μž…κ΅¬μ™€ μΆœκ΅¬κ°€ λ™μΌν•œ ν˜•νƒœλ‘œ ν‘œν˜„ν•  수 있으며 "λ°•μŠ€ μŒ“κΈ°"λ₯Ό μ—°μƒν•˜μ‹œλ©΄ κΈ°μ–΅ν•˜κΈ° νŽΈν•©λ‹ˆλ‹€. μŠ€νƒ μžλ£Œκ΅¬μ‘°λŠ” μ•„λž˜ 2가지 핡심적인 ν•¨μˆ˜λ‘œ λ™μž‘ν•©λ‹ˆλ‹€. 데이터 μ‚½μž…(Push) 데이터 μ‚­μ œ(Pop) μŠ€νƒ 자료ꡬ쑰λ₯Ό μ‚¬μš©ν•  λ•ŒλŠ” μ˜€λ²„ν”Œλ‘œμš°(Overflow)와 μ–Έλ”ν”Œλ‘œμš°(Underflow) λ°œμƒμ— μœ μ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ˜€λ²„ν”Œλ‘œμš°: μ–΄λ– ν•œ μžλ£Œκ΅¬μ‘°κ°€ μ €μž₯ν•  수 μžˆλŠ” λ°μ΄ν„°μ˜ 크기λ₯Ό 초..

[μ•Œκ³ λ¦¬μ¦˜] 그리디(Greedy) μ•Œκ³ λ¦¬μ¦˜(κ±°μŠ€λ¦„λˆ 문제 μ†ŒμŠ€μ½”λ“œ)

μ•ˆλ…•ν•˜μ„Έμš”, 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” μ§€λ‚œ ν¬μŠ€νŒ…μ—μ„œ 닀룬 그리디 μ•Œκ³ λ¦¬μ¦˜ μ—°μŠ΅λ¬Έμ œμ˜ μ†ŒμŠ€μ½”λ“œλ₯Ό κ³΅μœ ν•©λ‹ˆλ‹€. heytech.tistory.com/44 [μ•Œκ³ λ¦¬μ¦˜] 그리디(Greedy) μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄μž! (μ—°μŠ΅λ¬Έμ œ 포함) μ˜€λŠ˜μ€ μ•Œκ³ λ¦¬μ¦˜ μŠ€ν„°λ”” 첫 번째 ν¬μŠ€νŒ…μœΌλ‘œμ„œ 그리디 μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 그럼 λ°”λ‘œ μ‹œμž‘ν•˜μ£ ! 1. 그리디 μ•Œκ³ λ¦¬μ¦˜μ΄λž€? 그리디(Greedy)λŠ” κ·Έλ¦Ό 1 μ—μ„œ 보싀 수 μžˆλ“―μ΄ 사전 heytech.tistory.com 1. μ—°μŠ΅λ¬Έμ œ 그리디 μ•Œκ³ λ¦¬μ¦˜μ˜ κ°€μž₯ λŒ€ν‘œμ μΈ μ˜ˆμ‹œ λ¬Έμ œλŠ” κ±°μŠ€λ¦„λˆ 계산 λ¬Έμ œμž…λ‹ˆλ‹€. Q. 당신은 카페의 계산을 λ„μ™€μ£ΌλŠ” 직원이며 μΉ΄μš΄ν„°μ—λŠ” κ±°μŠ€λ¦„λˆμœΌλ‘œ μ‚¬μš©ν•˜λŠ” ν™”νλ‘œμ„œ 500원, 100원, 50원, 10μ›μ§œλ¦¬ 동전이 λ¬΄ν•œνžˆ μžˆλ‹€κ³  κ°€μ •ν•œλ‹€. μ†λ‹˜μ—κ²Œ 제..

그리디(Greedy) μ•Œκ³ λ¦¬μ¦˜ 이해(Python 예제 포함)

λ³Έ ν¬μŠ€νŒ…μ—μ„œλŠ” 그리디(Greedy) μ•Œκ³ λ¦¬μ¦˜μ— λŒ€ν•΄ μ•Œμ•„λ΄…λ‹ˆλ‹€. 1. 그리디 μ•Œκ³ λ¦¬μ¦˜μ΄λž€? 그리디(Greedy)λŠ” κ·Έλ¦Ό 1 μ—μ„œ 보싀 수 μžˆλ“―μ΄ 사전적 μ˜λ―Έλ‘œμ„œ "νƒμš•μŠ€λŸ¬μš΄"μ΄λΌλŠ” λœ»μ„ κ°–κ³  μžˆμŠ΅λ‹ˆλ‹€(κ·Έλ¦Ό 2 μ°Έκ³ ). 즉, 그리디 μ•Œκ³ λ¦¬μ¦˜μ€ 주어진 문제λ₯Ό ν”„λ‘œκ·Έλž˜λ°μ„ 톡해 νƒμš•μŠ€λŸ½κ²Œ ν’€μ–΄λ‚΄λŠ” μ•Œκ³ λ¦¬μ¦˜μž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ "νƒμš•μŠ€λŸ¬μš΄"μ΄λΌλŠ” 말은 그리디 μ•Œκ³ λ¦¬μ¦˜μ΄ 주어진 μƒν™©μ—μ„œ μ΅œμ„ μ˜ μ˜΅μ…˜λ§Œ μ„ νƒν•˜λ©° ν˜„μž¬μ˜ 선택이 ν–₯후에 λ―ΈμΉ  영ν–₯은 κ³ λ €ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” μ˜λ―Έμž…λ‹ˆλ‹€. 2. νŠΉμ§• 그리디 μ•Œκ³ λ¦¬μ¦˜ λ¬Έμ œμ—μ„œλŠ” 주둜 "κ°€μž₯ 큰 숫자 μˆœμ„œλŒ€λ‘œ" ν˜Ήμ€ "κ°€μž₯ 짧은 경둜 순으둜"와 같은 쑰건을 μ œμ‹œν•΄ μ€λ‹ˆλ‹€. μ΄λŸ¬ν•œ 쑰건은 λŒ€μ²΄λ‘œ μ •λ ¬ μ•Œκ³ λ¦¬μ¦˜μœΌλ‘œ ν•΄κ²°ν•  수 μžˆλ‹€λŠ” μ μ—μ„œ 그리디 μ•Œκ³ λ¦¬μ¦˜μ€ μ •λ ¬ μ•Œκ³ λ¦¬μ¦˜κ³Ό μ„ΈνŠΈλ‘œ μ£Όμ–΄μ§€λŠ” ..