관리 메뉴

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

DATA101

[Python] ν…μŠ€νŠΈ 파일 읽고 μ“°λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄μž!(feat. open, with ꡬ문)

μ•ˆλ…•ν•˜μ„Έμš”, μ˜€λŠ˜μ€ νŒŒμ΄μ¬μ„ ν™œμš©ν•˜μ—¬ ν…μŠ€νŠΈ νŒŒμΌμ„ μ½κ±°λ‚˜ μ“°λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€. 그럼 λ°”λ‘œ μ‹œμž‘ν•˜μ£ ! λͺ©μ°¨ 1. ν…μŠ€νŠΈ 파일 핸듀링 절차 2. ν…μŠ€νŠΈ 파일 μž‘μ„±(λ˜λŠ” μƒμ„±ν•˜κΈ°) 2.1. ν…μŠ€νŠΈ 파일 μ ‘κ·Όν•˜κΈ° 2.2. ν…μŠ€νŠΈ 파일 μž‘μ„±ν•˜κΈ° 2.3. ν…μŠ€νŠΈ 파일 λ‹«κΈ° 3. ν…μŠ€νŠΈ 파일 μ½μ–΄μ˜€κΈ° 3.1. ν…μŠ€νŠΈ 파일 쑴재 μ—¬λΆ€ 확인 3.2. open ν•¨μˆ˜: λͺ¨λ“  λ‚΄μš© μ½μ–΄μ˜€κΈ° 3.3. realine ν•¨μˆ˜: ν•œ μ€„λ§Œ μ½μ–΄μ˜€κΈ° 3.4. readlines ν•¨μˆ˜: λͺ¨λ“  λ‚΄μš© ν•œ 쀄씩 μ½μ–΄μ˜€κΈ° 4. 파일 포인터 4.1. tell ν•¨μˆ˜: ν˜„μž¬ 파일 포인터 μœ„μΉ˜ λ°˜ν™˜ 4.2. seek ν•¨μˆ˜: 파일 포인터 μœ„μΉ˜ 이동 5. with ꡬ문을 ν™œμš©ν•œ ν…μŠ€νŠΈ 파일 핸듀링 1. ν…μŠ€νŠΈ 파일 핸듀링 절차 ν…μŠ€νŠΈ νŒŒμΌμ„ 읽..

SW 개발/Python 2021. 7. 20. 16:04
[Python] 클래슀 상속, λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©(method overriding), 슈퍼(super) ν•¨μˆ˜μ— λŒ€ν•΄ μ•Œμ•„λ³΄μž!

λ³Έ ν¬μŠ€νŒ…μ—μ„œλŠ” 클래슀 상속(Class Inheritance)의 의미λ₯Ό μ•Œμ•„λ³΄κ³  파이썬으둜 μ‹€μŠ΅ν•©λ‹ˆλ‹€. λ˜ν•œ, λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©(method overriding)κ³Ό 슈퍼 ν•¨μˆ˜(super)κΉŒμ§€ μ•Œμ•„λ΄…λ‹ˆλ‹€. πŸ“šλͺ©μ°¨ 1. 클래슀 μƒμ†μ΄λž€? 1.1. 클래슀 μƒμ†μ˜ 의미 1.2. λΆ€λͺ¨ ν΄λž˜μŠ€μ™€ μžμ‹ 클래슀 1.3. 클래슀 상속 방법 2. 클래슀 상속 μ˜ˆμ‹œ 3. λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ”©(method overriding) 4. 슈퍼 ν•¨μˆ˜(super) 1. 클래슀 μƒμ†μ΄λž€? 1.1. 클래슀 μƒμ†μ˜ 의미 클래슀 상속은 기쑴에 μ •μ˜ν•œ 클래슀의 속성 및 λ©”μ„œλ“œλ₯Ό κ·ΈλŒ€λ‘œ μ‚¬μš©ν•  수 μžˆλ„λ‘ 클래슀 간에 λ¬Όλ €μ£Όκ±°λ‚˜ λ°›λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€. 즉, 클래슀 상속은 μ€‘λ³΅λœ λ©”μ„œλ“œλ₯Ό μž¬μ •μ˜ν•  ν•„μš”κ°€ μ—†λ‹€λŠ” μž₯점이 μžˆμŠ΅λ‹ˆλ‹€. λ˜ν•œ, κΈ°μ‘΄ ν΄λž˜μŠ€μ—μ„œ..

SW 개발/Python 2021. 5. 1. 11:12
[Python] λ©”μ„œλ“œ(method)와 μŠ€νƒœν‹±/클래슀 λ©”μ„œλ“œ(static/class method)에 λŒ€ν•΄ μ•Œμ•„λ³΄μž!

μ§€λ‚œ ν¬μŠ€νŒ…μ—μ„œλŠ” 클래슀, 객체, 속성, 생성 ν•¨μˆ˜μ— λŒ€ν•œ μ˜λ―Έμ™€ νŒŒμ΄μ¬μ—μ„œ 이듀을 λ‹€λ£¨λŠ” 방법에 λŒ€ν•΄ μ•Œμ•„λ³΄μ•˜μŠ΅λ‹ˆλ‹€. 이번 ν¬μŠ€νŒ…μ—μ„œλŠ” ν΄λž˜μŠ€μ—μ„œ λ©”μ„œλ“œ(method)와 μŠ€νƒœν‹±/클래슀 λ©”μ„œλ“œ(static/class method)에 λŒ€ν•΄ μ•Œμ•„λ΄…λ‹ˆλ‹€. λͺ©μ°¨ 1. λ©”μ„œλ“œ(method) 1.1. λ©”μ„œλ“œ μ •μ˜ 1.2. λ‚΄μž₯ 클래슀 및 λ©”μ„œλ“œ ν™œμš© μ˜ˆμ‹œ 1.3. λ©”μ„œλ“œ μ’…λ₯˜ 2. μΈμŠ€ν„΄μŠ€ λ©”μ„œλ“œ(instance method) 3. μŠ€νƒœν‹±/클래슀 λ©”μ„œλ“œ(static/class method) 1. λ©”μ„œλ“œ(method) 1.1. λ©”μ„œλ“œ μ •μ˜ λ©”μ„œλ“œ(method)λŠ” 클래슀의 κ°μ²΄μ—μ„œ ν˜ΈμΆœν•˜μ—¬ 속성에 λŒ€ν•œ 연산을 μˆ˜ν–‰ν•˜λŠ” 역할을 ν•˜λ©°, 멀버 ν•¨μˆ˜(member function)라고도 λΆ€λ¦…λ‹ˆλ‹€. μ•„λž˜μ™€ 같이 "[객체 이름]...

SW 개발/Python 2021. 4. 30. 15:33
μ™„μ „ 이진 트리(Complete Binary Tree) 자료ꡬ쑰 이해

λ³Έ ν¬μŠ€νŒ…μ—μ„œλŠ” μ™„μ „ 이진 트리(Complete Binary Tree) μžλ£Œκ΅¬μ‘°μ— λŒ€ν•΄ μ•Œμ•„λ΄…λ‹ˆλ‹€. * μ™„μ „ 이진 트리(Complete Binary Tree) μžλ£Œκ΅¬μ‘°λž€? μ™„μ „ 이진 νŠΈλ¦¬λž€ 각 λ…Έλ“œκ°€ μ΅œλŒ€ 2개의 μžμ‹ λ…Έλ“œλ₯Ό κ°–λŠ” 트리 ν˜•νƒœμ˜ μžλ£Œκ΅¬μ‘°λ‘œμ„œ λ§ˆμ§€λ§‰ λ ˆλ²¨μ„ μ œμ™Έν•œ λͺ¨λ“  λ…Έλ“œλŠ” μ™„μ „νžˆ μ±„μ›Œμ Έ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. λ˜ν•œ, μ΅œν•˜λ‹¨ 레벨의 λ…Έλ“œλŠ” 쒌츑만 λ…Έλ“œκ°€ μ±„μ›Œμ Έ μžˆκ±°λ‚˜ 쒌츑과 우츑 λͺ¨λ‘ μ±„μ›Œμ Έ μžˆμ–΄μ•Ό ν•˜λ©°, λ…Έλ“œλ₯Ό μ‚½μž…ν•  λ•ŒλŠ” μ΅œν•˜λ‹¨ 쒌츑 λ…Έλ“œλΆ€ν„° μ°¨λ‘€λŒ€λ‘œ μ‚½μž…ν•΄μ•Ό ν•©λ‹ˆλ‹€(κ·Έλ¦Ό 1 μ°Έκ³ ). κ·Έλ¦Ό 1 우츑 νŠΈλ¦¬λŠ” λ…Έλ“œ 12의 μžμ‹ λ…Έλ“œκ°€ μš°μΈ‘μ—λ§Œ μ‚½μž…λ˜μ–΄ 있기 λ•Œλ¬Έμ— μ™„μ „ μ΄μ§„νŠΈλ¦¬λΌκ³  ν•  수 μ—†μŠ΅λ‹ˆλ‹€. ν¬μŠ€νŒ… λ‚΄μš©μ— 였λ₯˜κ°€ μžˆμ„ 경우 λŒ“κΈ€ λ‚¨κ²¨μ£Όμ‹œλ©΄ κ°μ‚¬λ“œλ¦¬κ² μŠ΅λ‹ˆλ‹€. 그럼 μ˜€λŠ˜λ„ κ±΄κ°•ν•œ ν•˜λ£¨ λ³΄λ‚΄μ‹œκΈΈ..

[μ•Œκ³ λ¦¬μ¦˜] νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜(Parametric Search)에 λŒ€ν•΄ μ•Œμ•„λ³΄μž!

λ³Έ ν¬μŠ€νŒ…μ—μ„œλŠ” νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜(parametric search)에 λŒ€ν•΄ μ•Œμ•„λ΄…λ‹ˆλ‹€. πŸ“š λͺ©μ°¨ 1. νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜λž€? 2. νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜λŠ” μ–Έμ œ μ‚¬μš©ν•˜λ©΄ μ’‹μ„κΉŒ? 3. νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜μ™€ 이진 탐색 κ°„μ˜ 차이점 4. νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜μ˜ λ™μž‘ κ³Όμ • 4.1. νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜ μ˜ˆμ‹œ 4.2. νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜μ˜ μ‹œκ°„ λ³΅μž‘λ„ 1. νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜λž€? νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜λŠ” μ΅œμ ν™” 문제λ₯Ό κ²°μ • 문제둜 λ°”κΎΈμ–΄ ν’€μ–΄ λ‚˜κ°€λŠ” κΈ°λ²•μž…λ‹ˆλ‹€. μ—¬κΈ°μ„œ κ²°μ • λ¬Έμ œλž€ 'yes' or 'no', 즉, '예' λ˜λŠ” 'μ•„λ‹ˆμ˜€'둜 λ‹΅ν•˜λŠ” 문제λ₯Ό λ§ν•©λ‹ˆλ‹€. νŒŒλΌλ©”νŠΈλ¦­ μ„œμΉ˜λŠ” 주둜 νŠΉμ • 쑰건을 λ§Œμ‘±ν•˜λ©΄μ„œ λ™μ‹œμ— κ°€μž₯ μ ν•©ν•œ λ³€μˆ«κ°’μ„ μ°Ύμ•„λ‚˜κ°€λŠ” λ¬Έμ œμ—μ„œ ν™œμš©λ˜λ©°, 이진 탐색(Binary Search)을 μ΄μš©ν•˜μ—¬ κ΅¬ν˜„ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, νŠΉμ • 쑰건을 ..

[파이썬] μœ λ‹ˆμ½”λ“œλ₯Ό ν™œμš©ν•œ λ¬Έμžμ—΄-숫자 λ³€ν™˜(ord, chr λ‚΄μž₯ν•¨μˆ˜)

파이썬 λ‚΄μž₯ ν•¨μˆ˜ ord(), chr()λŠ” μœ λ‹ˆμ½”λ“œ(Unicode)λ₯Ό ν™œμš©ν•˜μ—¬ λ¬Έμžμ—΄-숫자 κ°„μ˜ λ³€ν™˜μ„ λ„μ™€μ€λ‹ˆλ‹€. 두 ν•¨μˆ˜λ₯Ό 각각 μ‚΄νŽ΄λ³΄λ„λ‘ ν•˜κ² μŠ΅λ‹ˆλ‹€. 1. chr() ν•¨μˆ˜: μˆ«μžπŸ‘‰λ¬Έμžμ—΄ λ³€ν™˜ chr(숫자) chr() ν•¨μˆ˜ μ•ˆμ— μˆ«μžν˜• 데이터λ₯Ό μž…λ ₯ν•˜λ©΄ ν•΄λ‹Ή μˆ«μžμ™€ 같은 μœ λ‹ˆμ½”λ“œ 포인트λ₯Ό κ°–λŠ” λ¬Έμžμ—΄μ„ λ°˜ν™˜ν•΄ μ€λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 97을 μž…λ ₯ν•˜λ©΄ λ¬Έμžμ—΄ 'a'κ°€ 좜λ ₯λ©λ‹ˆλ‹€. 숫자-μ•ŒνŒŒλ²³ κ°„μ˜ μœ λ‹ˆμ½”λ“œ 포인트 정보λ₯Ό ν¬μŠ€νŒ… 맨 μ•„λž˜ ν‘œ 1 에 정리해 λ‘μ—ˆμŠ΅λ‹ˆλ‹€. ν•„μš”ν•˜μ‹  뢄듀은 μ°Έκ³ ν•˜μ‹œκΈΈ λ°”λžλ‹ˆλ‹€. 2. ord() ν•¨μˆ˜: λ¬Έμžμ—΄πŸ‘‰μˆ«μž λ³€ν™˜ ord(λ¬Έμžμ—΄) chr() ν•¨μˆ˜μ™€ λ°˜λŒ€λ‘œ, ord() ν•¨μˆ˜λŠ” λ¬Έμžμ—΄μ„ μž…λ ₯ν•˜λ©΄ ν•΄λ‹Ή λ¬Έμžμ—΄κ³Ό 같은 μœ λ‹ˆμ½”λ“œ 포인트λ₯Ό κ°–λŠ” μ •μˆ˜λ₯Ό λ°˜ν™˜ν•΄ μ€λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, 'a'λ₯Ό..

SW 개발/Python 2021. 4. 25. 10:23