전체 κΈ€

전체 κΈ€

    [Codeforces] Round #784 Div. 4

    처음으둜 μ˜¬μ†”λΈŒλ₯Ό ν–ˆλ‹€ ! 맀번 코포 μΉ˜λ‹€κ°€ 일이 μƒκ²¨μ„œ μ μˆ˜κ°€ λ°”λ‹₯으둜 κ³ κΎΈλΌμ‘ŒλŠ”λ°, μ΄λ²ˆμ—” μ œλŒ€λ‘œ μ§‘μ€‘ν•΄μ„œ ν’€μ–΄λ΄€λ‹€. A. Division? λ‹¨μˆœ 쑰건문으둜 νŒλ‹¨ν•œλ‹€. B. Triple $N

    Dependency Inversion Principle - μ˜μ‘΄κ΄€κ³„ μ—­μ „ 원칙에 λŒ€ν•΄μ„œ

    객체지ν–₯ 섀계 SOLID 5원칙 μ€‘μ—μ„œ λ§ˆμ§€λ§‰ 원칙에 ν•΄λ‹Ήν•˜λŠ” DI (Dependency Inversion Principle)에 λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μž. 객체지ν–₯적 μ„€κ³„μ—λŠ” μ˜μ‘΄κ΄€κ³„κ°€ 생기기 λ§ˆλ ¨μ΄λ‹€. 각 ν΄λž˜μŠ€λŠ” 단일 μ±…μž„ 원칙에 따라 ν•˜λ‚˜μ˜ μ±…μž„λ§Œ μ Έμ•Ό ν•˜κ³ , 각 ν΄λž˜μŠ€κ°€ 결합돼 ν”„λ‘œκ·Έλž¨μ΄ κ΅¬λ™λœλ‹€λŠ” 것을 보면, μ–΄λ–€ ν΄λž˜μŠ€κ°€ λ‹€λ₯Έ ν΄λž˜μŠ€μ— μ˜μ‘΄ν•˜λŠ” 것은 λ‹Ήμ—°ν•˜λ‹€. class Dog: def speak(self): print("Bark") class Cat: def speak(self): print("Meow") class Zoo: def __init__(self): self.cat = Cat() self.dog = Dog() def speak_all(self): self.cat.speak() self.do..

    [Codeforces] Round #773 Div. 2

    μš”μ¦˜ μ½”λ“œν¬μŠ€λ₯Ό 돌리고 μžˆλŠ”λ°, μ–΄λ ΅λ‹€,, Div2 4개 ν‘ΈλŠ” κ±Έ λͺ©ν‘œλ‘œ 달리고 μžˆλ‹€λ§Œ, κ³„μ†ν•΄μ„œ ABCλ₯Ό ν’€κ±°λ‚˜ ABEλ₯Ό ν’€κ±°λ‚˜(???)... A. Hard Way μ‚Όκ°ν˜•μ΄ μ£Όμ–΄μ‘Œμ„ λ•Œ, $(0, x)$ μ μ—μ„œ μ‚Όκ°ν˜•μ— λ‹Ώμ§€ μ•ŠλŠ” λ³€μ˜ 길이λ₯Ό κ΅¬ν•˜λŠ” λ¬Έμ œμ΄λ‹€. 그림을 λͺ‡ 번 κ·Έλ € 보면, μ‚Όκ°ν˜•μ˜ ν•œ 변이 x좕에 ν‰ν–‰ν•˜κ³ , λ‚˜λ¨Έμ§€ ν•œ 점이 κ·Έ 변보닀 μ•„λž˜μ— μžˆλŠ” 경우, x좕에 ν‰ν–‰ν•œ 변은 닿을 수 μ—†λ‹€. λ‹€ν–‰νžˆ λ‹Ώμ§€ μ•ŠλŠ” λ³€μ˜ 길이λ₯Ό κ΅¬ν•˜λ©΄ λ˜λ‹ˆ, μ € 경우면 λ³€μ˜ 길이λ₯Ό, κ·Έλ ‡μ§€ μ•ŠμœΌλ©΄ 0을 좜λ ₯ν•˜λ©΄ λœλ‹€. B. Power Walking $N$ 개의 νŒŒμ›Œμ—…μ„ μ λ‹Ήνžˆ λ‚˜λˆ μ„œ, λ‚˜λˆˆ κ·Έλ£Ήλ§ˆλ‹€ uniqueν•œ μ›μ†Œμ˜ 개수의 합을 μ΅œμ†Œν™”ν•˜λŠ” λ¬Έμ œμ΄λ‹€. 이 λ•Œ, $1$ λΆ€ν„° $N$ κΉŒμ§€μ˜ μ •μˆ˜ $K$ 에 λŒ€ν•΄μ„œ, ..

    [파이썬 | Python] Mutable object, Immutable object

    파이썬의 λͺ¨λ“  것은 객체(object)이닀. 거의 λͺ¨λ“  κ°μ²΄λŠ” 속성(attributes)κ³Ό λ©”μ„œλ“œ(methods)둜 이루어져 있으며, 객체끼리의 식별은 id(object)λ₯Ό ν†΅ν•΄μ„œ ν•œλ‹€. idκ°€ κ°™λ‹€λ©΄ λ™μΌν•œ 객체, κ·Έλ ‡μ§€ μ•ŠμœΌλ©΄ λ‹€λ₯Έ 객체이닀. idλŠ” ν•΄λ‹Ή 객체λ₯Ό κ°€λ¦¬ν‚€λŠ” μœ μΌν•œ μƒμˆ˜(unique constant)이며, 객체가 μ„œλ‘œ 같은지 비ꡐλ₯Ό μœ„ν•΄μ„œλŠ” $==$ κ°€ μ•„λ‹Œ is λ₯Ό μ‚¬μš©ν•œλ‹€. Cμ–Έμ–΄μ˜ 포인터와 같은 κ°œλ…μ΄μ§€λ§Œ, μ‹€μ œλ‘œ idκ°€ κ°€λ¦¬ν‚€λŠ” 것이 λ©”λͺ¨λ¦¬μ˜ μ£Όμ†Œλ₯Ό μ˜λ―Έν•˜λŠ” 것은 μ•„λ‹ˆλ‹€. κ°μ²΄λŠ” λ³€κ²½ κ°€λŠ₯ν•˜κ±°λ‚˜, κ·Έλ ‡μ§€ μ•Šλ‹€. 이것이 mutable object와 immutable object의 차이이닀. μ‰¬μš΄ 예둜, a = "abc" a.replace("a", "x") # aλŠ” μ—¬μ „νžˆ "abc"이..

    [κΉƒ | Git] Udacity Git Commit Message Style Guide - κΉƒ 컀밋 λ©”μ‹œμ§€ μΌκ΄€μ„±μžˆκ²Œ μ“°κΈ° (μŠ€νƒ€μΌ κ°€μ΄λ“œ)

    컀밋 λ©”μ‹œμ§€κ°€ 보기 μ’‹μ•„μ•Ό (μΌκ΄€μ„±μžˆκ³  μ²΄κ³„μ μœΌλ‘œ μž‘μ„±ν•΄μ•Ό) λ‚˜μ€‘μ— λ‹€μ‹œ λ³΄μ•˜μ„ λ•Œ μ–΄λ–€ κΈ°λŠ₯을 μΆ”κ°€ν–ˆλŠ”μ§€, μ–΄λ–€ 버그λ₯Ό κ³ μ³€λŠ”μ§€ μ•ŒκΈ° νŽΈν•˜λ‹€. μ΅œκ·Όμ— μ½”λ“œλ₯Ό μ²΄κ³„μ μœΌλ‘œ μž‘μ„±ν•˜κΈ° μœ„ν•΄μ„œ Java, Python의 Style Guideλ₯Ό μ°Έκ³ ν–ˆμ—ˆλŠ”λ°, 컀밋 λ©”μ‹œμ§€μ—λ„ κ°€μ΄λ“œλΌμΈμ΄ μžˆλ‹€! μ˜€λŠ˜μ€ κ·Έ μ€‘μ—μ„œ μœ λ‹€μ‹œν‹°μ˜ μ»€λ°‹λ©”μ‹œμ§€ μŠ€νƒ€μΌκ°€μ΄λ“œλ₯Ό μ†Œκ°œν•œλ‹€. - Commit Message Structure (컀밋 λ©”μ‹œμ§€ ꡬ쑰) 컀밋 λ©”μ‹œμ§€λŠ” 빈 μ€„λ‘œ λ‚˜λ‰˜μ–΄μ§„ μ„Έ κ°€μ§€ 파트둜 κ΅¬μ„±λœλ‹€. title, body(optional), footer(optional) λ ˆμ΄μ•„μ›ƒμ€ μ•„λž˜μ™€ κ°™λ‹€. type: Subject body footer - The Type (컀밋 νƒ€μž…) 컀밋 νƒ€μž…μ€ 제λͺ©(title)에 ν•΄λ‹Ήν•˜λ©°, μ•„λž˜ 쀑 ν•˜λ‚˜μ΄..

    [λ°±μ€€ | BOJ] λ¬Έμ œν’€μ΄

    μ•Œκ³ λ¦¬μ¦˜ κ³΅λΆ€ν•˜λŠ” μ†Œλͺ¨μž„이 μžˆλ‹€! λ‚˜λ„ 감 μžƒμ§€ μ•ŠμœΌλ €κ³  κ°€μž…ν•΄μ„œ κ³΅λΆ€λŠ” 계속 μ—΄μ‹¬νžˆ ν•˜λ €κ³  ν•˜λŠ” 쀑. 였늘 20-22μ‹œκΉŒμ§€ λ¬Έμ œν’€μ΄λ₯Ό μ μ–΄λ’€λŠ”λ°, 기둝해 두렀고 λΈ”λ‘œκ·Έμ—λ„ 곡유. 문제 λͺ©λ‘μ€ μ•„λž˜μ™€ κ°™λ‹€. A: μ •μœ‘κ°ν˜•κ³Ό μ‚Όκ°ν˜• https://www.acmicpc.net/problem/14264 B: 가희야 κ±°κΈ°μ„œ μžλŠ” κ±° μ•„λ‹ˆμ•Ό https://www.acmicpc.net/problem/21771 C: Router https://www.acmicpc.net/problem/15828 D: 점프왕 쩰리 (Small) https://www.acmicpc.net/problem/16173 E: μ‡ λ§‰λŒ€κΈ° https://www.acmicpc.net/problem/10799 F: Ocean View (Large) h..

    [λ°±μ€€ | BOJ] Good Bye, BOJ 2021! ν›„κΈ° 및 풀이 (ABCD)

    λ°±μ€€μ—μ„œλŠ” 연말에 ꡿바이 λ°±μ€€, μ—°μ΄ˆμ— ν—¬λ‘œ λ°±μ€€(κ΅Ώλͺ¨λ‹ λ°±μ€€) 행사가 μžˆλ‹€. 2021 λ°±μ€€ λ§ˆλ¬΄λ¦¬ν•  κ²Έ λ¬Έμ œν’€μ΄. λŒ€νšŒμ—μ„œλŠ” 2μ†”λΈŒ, λλ‚˜κ³  CD μ—…μ†”λΉ™κΉŒμ§€ ν–ˆλ‹€. A. 2021은 무엇이 νŠΉλ³„ν• κΉŒ? $N$ λ²”μœ„κ°€ $10,000$이닀. μ†Œμˆ˜λ₯Ό μ­‰ λŠ˜μ–΄λ†“κ³ , λ‘κ°œλ₯Ό 미리 곱해두고 μ΄λΆ„νƒμƒ‰ν•΄μ„œ ν’€μ—ˆλ‹€. 사싀 이뢄탐색은 ν•„μš”κ°€ μ—†λŠ”λ°. μ›μ†Œ κ°œμˆ˜κ°€ 30κ°œκ°€ μ•ˆ λœλ‹€. 배열을 ν•œ 바퀴 돌 κ±Έ. $N = 10,000$일 λ•Œ 103κΉŒμ§€ 넣어둬야 ν•˜λŠ”λ°, λ„£μ§€ μ•Šμ•„μ„œ WA, ν…ŒμŠ€νŠΈν•œλ‹΅μ‹œκ³  넣은 μ½”λ“œλ₯Ό μ•ˆ μ—†μ• μ„œ WA. μžμž˜ν•œ μ‹€μˆ˜λ₯Ό 많이 ν–ˆλ‹€. 제좜 μ „μ—λŠ” κΌ­ μ²΄ν¬ν•˜μž. B. 예쁜 케이크 λŒ€νšŒ μ€‘μ—λŠ” OEIS의 νž˜μ„ λ°›μ•„μ„œ ν’€μ—ˆλ‹€. μ†μœΌλ‘œ 쀄쀄 μ“°λ‹€κ°€ λ­”κ°€ κ·œμΉ™μ΄ μžˆλŠ” 것 κ°™μ•„μ„œ λ„˜κ²Όλ‹€. 증λͺ…은 μ•„λž˜μ™€ κ°™λ‹€. $N ..

    42μ„œμšΈ (42SEOUL) μ˜¨λΌμΈν…ŒμŠ€νŠΈ ν›„κΈ°

    1학년을 마치고 곡ꡰ μž…λŒ€, 9월말 μ „μ—­μ „ νœ΄κ°€ λ‚˜μ™€μ„œ 본격적으둜 μ–΄λ–€ 곡뢀λ₯Ό ν•˜λ©΄ μ’‹μ„κΉŒ κ³ λ―Ό. λ‹€μ–‘ν•œ μ½”μŠ€λ“€μ„ μ ‘ν•˜κ³  λ“€μ–΄λ³΄λŠ”κ²Œ μ’‹κ² λ‹€κ³  μƒκ°ν–ˆλ‹€. μ—¬λŸΏ μžˆμ—ˆμ§€λ§Œ λ‚΄ λˆˆκΈΈμ„ λŒμ—ˆλ˜ 건 μ‚Όμ„± SSAFY, μš°μ•„ν•œν˜•μ œλ“€ μš°μ•„ν•œν…Œν¬μ½”μŠ€, μ΄λ…Έλ² μ΄μ…˜μ•„μΉ΄λ°λ―Έ(μ •λΆ€) 42μ„œμšΈ. SSAFYλŠ” 4λ…„μ œ μ‘Έμ—…μž 및 μ‘Έμ—… μ˜ˆμ •μžμ—κ²Œ μ§€μ›μžκ²©μ΄ μ£Όμ–΄μ Έ λ‚˜μ—κ²ŒλŠ” 해당이 μ•ˆ 됐고, μš°μ•„ν•œν…Œν¬μ½”μŠ€λŠ” λ‹€μŒμ£Ό μˆ˜μš”μΌ(11/3)에 μ ‘μˆ˜λ§ˆκ°μ΄λΌ 고민쀑에 μžˆλ‹€. μ„œμšΈ42μ—μ„œλŠ” ν˜„μž¬ λͺ¨μ§‘쀑이 μ•„λ‹ˆλ‹€. κ·Έλž˜λ„ μƒμ‹œ 온라인 ν…ŒμŠ€νŠΈ κ²°κ³Όλ₯Ό 톡해 κ΅μœ‘κ³Όμ •μ— μž…κ³Όν•  기회λ₯Ό 주기에, ν…ŒμŠ€νŠΈλ₯Ό ν•œ 번 λ΄€λ‹€. ν…ŒμŠ€νŠΈλŠ” 4λΆ„, 2μ‹œκ°„μ΄ μ†Œμš”λ˜λŠ” 두 κ°€μ§€μ˜ κ²Œμž„μ΄ 전뢀이닀. ν•œ 번 보고 λ‚˜λ©΄ λ‹€μ‹œλŠ” 지원할 수 μ—†λ‹€λŠ” 게 κΈ΄μž₯λ˜λŠ” 데 ν•œλͺ«ν–ˆλ‹€. 4뢄이 걸렸던..

    [λ°±μ€€ | BOJ] 가희와 ν•¨κ»˜ ν•˜λŠ” 2회 μ½”λ”© ν…ŒμŠ€νŠΈ ν›„κΈ°

    μ €λ²ˆμ— 재밌게 ν’€μ—ˆλ˜ μ‹œλ¦¬μ¦ˆ λŒ€νšŒκ°€ μ—΄λ Έλ‹€. 1νšŒλ•Œμ™€ 같이 λ¬Έμ œλ“€μ΄ μž¬λ°Œλ‹€. 처음 μƒκ°ν•œ ν’€μ΄μ™€λŠ” λ‹€λ₯΄κ²Œ μƒκ°ν•˜λŠ” λ¬Έμ œλ“€λ„ μžˆμ—ˆλ‹€. 1μ‹œλΆ€ν„° 바짝 μ°Έμ—¬ν•˜μ§€λŠ” λͺ»ν–ˆμ§€λ§Œ, 5문제λ₯Ό ν’€μ—ˆλ‹€. ν’€μ΄λŠ” μ•„λž˜. 가희와 ν•¨κ»˜ ν•˜λŠ” 2회 μ½”λ”© ν…ŒμŠ€νŠΈ www.acmicpc.net 1. 가희와 파일 탐색기 λ¬Έμžμ—΄ κ΄€λ ¨ 문제λ₯Ό ν’€ λ•Œλ©΄ νŒŒμ΄μ¬λ°–μ— λͺ» ν•˜λŠ” λ‚˜λ₯Ό μ‘°κΈˆμ€ 이해할 수 있게 λœλ‹€.. λ‹¨μˆœ μ •λ ¬ μ„Έ 번으둜 문제λ₯Ό ν•΄κ²°ν–ˆλ‹€. μš°μ„ μˆœμœ„μ˜ λ°˜λŒ€μˆœμ„œλŒ€λ‘œ 정렬을 μ§„ν–‰ν•˜λ©΄, μš°μ„ μˆœμœ„λ₯Ό λͺ¨λ‘ λ§Œμ‘±ν•˜κ²Œλ” μ •λ ¬ν•  수 μžˆλ‹€. 파일λͺ…κ³Ό ν™•μž₯자둜 λ‚˜λˆ  μž…λ ₯λ°›κ³ , μ§€μ›ν•˜λŠ” ν™•μž₯μžλ“€μ„ dict λ₯Ό 톡해 κ΄€λ¦¬ν•œ λ’€, key λ₯Ό 각각 ν™•μž₯자, 지원 μ—¬λΆ€, 파일λͺ… μˆœμ„œλŒ€λ‘œ 정렬을 μ„Έ 번 ν•œλ‹€. 2. 가희와 ν‚€μ›Œλ“œ 이 λ¬Έμ œλ„ 브루트포슀둜 ν•΄κ²°ν–ˆλ‹€...

    [2021 Dev Carnival] λ°λΈŒμΉ΄λ‹ˆλ°œ 2021 μ½”λ”©ν…ŒμŠ€νŠΈ κΈˆμ† λ°°μ§€ ν›„κΈ° (문제 볡기)

    goorm.ioμ—μ„œ μ§„ν–‰ν•˜λŠ” 2021 Dev Carnival : 데브 μΉ΄λ‹ˆλ°œμ— μ°Έκ°€ν–ˆλ‹€ ! 5μ›” 22일에 μ§„ν–‰λλ˜ μ½”λ”©ν…ŒμŠ€νŠΈμ˜€λŠ”λ°, μ–Όλ§ˆ 전에 ν…ŒμŠ€νŠΈ κ²°κ³Όκ°€ λ©”μΌλ‘œ λ‚ μ•„μ™”λ‹€. 잊고 μžˆμ—ˆλŠ”λ° λ‹€μ‹œ μƒκ°λ‚˜μ„œ 글을 μ“΄λ‹€. ν…ŒμŠ€νŠΈλ₯Ό ν•˜λ©΄μ„œ μž‘μ„±ν•œ μ½”λ“œλ₯Ό λ”°λ‘œ μ €μž₯ν•΄λ‘μ§€λŠ” μ•Šμ•„μ„œ μ •ν™•ν•œ μ½”λ“œλ₯Ό κ°€μ§€κ³ μžˆμ§€λŠ” μ•Šλ‹€. κΈ°μ–΅λ‚˜λŠ” λŒ€λ‘œ 문제λ₯Ό 볡기해봐야겠닀. 1번 λ¬Έμ œλŠ” λ‹¨μˆœκ΅¬ν˜„ λ¬Έμ œμ˜€λ‹€. μ‚¬λžŒλ§ˆλ‹€ 먹을 수 μžˆλŠ” μŒμ‹ 양이 μ •ν•΄μ Έ 있고, μŒμ‹μ„ μˆœμ„œλŒ€λ‘œ 먹으며 양을 λ„˜λŠ” μ‚¬λžŒλ“€μ˜ μˆœμ„œλ₯Ό 좜λ ₯ν•˜λŠ” λ¬Έμ œμ˜€λ‹€. λ°°μ—΄ λŒλ €κ°€λ©΄μ„œ λΉ λ₯΄κ²Œ ν•΄κ²°ν–ˆμ—ˆλ‹€. 2λ²ˆμ€ κ΅¬ν˜„μ΄ 쑰금 νž˜λ“€μ–΄λ³΄μ—¬μ„œ 3, 4λ²ˆμ„ λ¨Όμ € λ΄€μ—ˆλ‹€. 3λ²ˆμ€ 보자마자 DPλΌλŠ” 생각이 λ“€μ–΄μ„œ 도망쳀고, 4번 문제λ₯Ό λΆ™μž‘μ•˜λ‹€. 단방ν–₯ κ·Έλž˜ν”„κ°€ μ£Όμ–΄μ§€κ³ , ν•œ 번 정점을 λ°©λ¬Έν•  λ•Œ..