Skip to content

Instantly share code, notes, and snippets.

View dongwooklee96's full-sized avatar
๐Ÿ˜
Focusing

Lee Dong Wook dongwooklee96

๐Ÿ˜
Focusing
View GitHub Profile
"""
# ๋ฌธ์ œ : ๋ถ€์กฑํ•œ ๊ธˆ์•ก ๊ณ„์‚ฐํ•˜๊ธฐ
- ๋†€์ด๊ธฐ๊ตฌ์˜ ์›๋ž˜ ์ด์šฉ๋ฃŒ๋Š” price ์›์ด๋‹ค.
- ๋†€์ด๊ธฐ๊ตฌ๋ฅผ N ๋ฒˆ์งธ ์ด์šฉํ•œ๋‹ค๋ฉด ์›๋ž˜ ์ด์šฉ๋ฃŒ์˜ N๋ฐฐ๋ฅผ ๋ฐ›๋Š” ํŒจ๋„ํ‹ฐ๊ฐ€ ์žˆ๋‹ค.
- ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, ์ฒ˜์Œ ์ด์šฉ๋ฃŒ๊ฐ€ 100์› ์ด์˜€๋‹ค๋ฉด, 2๋ฒˆ์งธ๋Š” 200์› 3๋ฒˆ์งธ๋Š” 300์›์ด๋‹ค.
-> ๋†€์ด๊ธฐ๊ตฌ๋ฅผ {count} ๋ฒˆ ํƒ€๊ฒŒ ๋˜๋ฉด, ํ˜„์žฌ ์ž์‹ ์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธˆ์•ก์—์„œ ์–ผ๋งˆ๊ฐ€ ๋ชจ์ž๋ผ๋Š”์ง€๋ฅผ ๋ฐ˜ํ™˜ ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋ผ
-> ๋‹จ ๊ธˆ์•ก์ด ๋ถ€์กฑํ•˜์ง€ ์•Š์œผ๋ฉด 0์„ ๋ฐ˜ํ™˜ํ•˜๋ผ.
"""
๋ฌธ์ œ 6.6 ํŠธ๋ฆฌ ๊ฒฝ๋กœ์˜ ํ•ฉ
๋…ธ๋“œ์— ์ •์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ์ด์ง„ ํŠธ๋ฆฌ๊ฐ€ ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค.
๊ฐ ๊ฒฝ๋กœ์— ์žˆ๋Š” ๋…ธ๋“œ์˜ ๋ฐ์ดํ„ฐ ํ•ฉ์ด ํŠน์ • ๊ฐ’์ด ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ช‡ ๊ฐœ์ธ์ง€ ํ™•์ธํ•˜๋ผ.
๊ผญ ๋ฃจํŠธ ๋…ธ๋“œ์—์„œ ์‹œ์ž‘ํ•  ํ•„์š”๋Š” ์—†์œผ๋ฉฐ, ์‹œ์ž‘์€ ๋ถ€๋ชจ ๋…ธ๋“œ์—์„œ ์ž์‹ ๋…ธ๋“œ ์ชฝ์œผ๋กœ ์ด๋™ํ•˜์—ฌ ํ•ฉ์„ ๋งŒ๋“ค์–ด
๋‚˜๊ฐ€์•ผ ํ•œ๋‹ค. ์ž์‹ ๋…ธ๋“œ์—์„œ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค.
### ์ œํ•œ ์‚ฌํ•ญ
@dongwooklee96
dongwooklee96 / main.py
Created July 30, 2021 11:59
๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰, ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰, ํž™
"""
# ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰, ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰, ๊ทธ๋ฆฌ๊ณ  ์ด์ง„ ํž™
### ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰ (Depth-First Search)
๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์˜ ํ‚ค์›Œ๋“œ๋Š” '์Šคํƒ (Stack)' ์ด๋‹ค.
์•ž ์˜ˆ์ œ์—์„œ ์‚ฌ์šฉํ•œ ํŠธ๋ฆฌ์— ๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰์œผ๋กœ ๋…ธ๋“œ๋ฅผ ๋ฐฉ๋ฌธ์„ ํ•ด๋ณด์ž.
### ๋„ˆ๋น„ ์šฐ์„  ํƒ์ƒ‰ (Breadth-First Search)
@dongwooklee96
dongwooklee96 / main.py
Last active July 30, 2021 10:26
6.2 ์ด์ง„ํŠธ๋ฆฌ
"""
์ด์ง„ ํŠธ๋ฆฌ๋ฅผ ๊ตฌํ˜„ํ•˜์—ฌ๋ผ.
"""
class Node:
def __init__(self, data):
self.left = None
self.right = None
"""
๋ฌธ์ œ : ๋ฒ„๋ธ” ์ •๋ ฌ์„ ๊ตฌํ˜„ํ•˜์‹œ์˜ค.
"""
from typing import List
def bubble_sort(arr: List[int]):
n = len(arr)
@dongwooklee96
dongwooklee96 / main.py
Created July 27, 2021 14:28
4.4.4 4.4.4
"""
๋ฌธ์ œ : ๋ฐฐ์—ด์˜ ๋‘ ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ์ตœ์†Œ ์ฐจ์ด ๋งŒ๋“ค๊ธฐ
๋ฐฐ์—ด์„ ๋‘ ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ๋งŒ๋“ค๊ณ  ๊ฐ ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ํ•ฉ ์ฐจ์ด๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๋Š” ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋ผ
์˜ˆ๋ฅผ ๋“ค์–ด์„œ [3, 2, 7, 4, 1]์ด ์ฃผ์–ด์ง€๋ฉด ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ํ•ฉ ์ฐจ์ด๊ฐ€ ์ตœ์†Œ๊ฐ€ ๋˜๊ฒŒ ํ•˜๋ ค๋ฉด,
ํ•˜๋‚˜๋Š” [1, 7]์ด ๋˜๊ณ , ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” [2, 3, 4]๊ฐ€ ๋˜์—ˆ์„ ๋•Œ ๊ฐ ๋ถ€๋ถ„์ง‘ํ•ฉ์˜ ํ•ฉ์€ 8๊ณผ 9๊ฐ€ ๋˜์–ด์„œ ์ฐจ์ด๊ฐ€ 1์ด ๋œ๋‹ค.
์ด๋•Œ 1์„ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
"""
import sys
"""
๋ฌธ์ œ 4.4.3 ๋™์ „ ๊ตํ™˜
๊ฐ€๊ฒŒ์— ๊ฐ€์„œ, ๋ฌผ๊ฑด์„ ์‚ฌ๊ณ  ๋ฌผ๊ฑด ๊ฐ’์„ ์ง€๋ถˆํ•˜๊ณ  ๋‚จ์€ ์ž”๋ˆ์„ ๊ฑฐ์Šฌ๋กœ ์ฃผ๋Š” ๊ณผ์ •์„ ์ฝ”๋”ฉํ•˜๋Š”๋ฐ
๊ฐ€์žฅ ์ ์€ ๊ฐœ์ˆ˜์˜ ๋™์ „์œผ๋กœ ๋ฐ˜ํ™˜ํ•ด์•ผํ•˜๋Š” ๊ฒƒ์ด ๋ฌธ์ œ์ด๋‹ค. ์ž”๋ˆ์œผ๋กœ ๊ฑฐ์Šฌ๋Ÿฌ ์ฃผ๋Š” ๋™์ „์˜ ๊ฐ’์„
๋ฐฐ์—ด๋กœ ์ž…๋ ฅ ๋ฐ›๋Š”๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด [1, 2, 5] ์ด๊ณ  ๊ฑฐ์Šฌ๋Ÿฌ์ค˜์•ผ ํ•˜๋Š” ๋ˆ์ด 11์ด๋ผ๋ฉด [5, 5, 1] ๋กœ 3๊ฐœ๋ฅผ
๊ฑฐ์Šฌ๋Ÿฌ ์ฃผ๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ ์€ ๋™์ „์˜ ๊ฐœ์ˆ˜๋กœ ๋ฐ˜ํ™˜ํ•œ ๊ฒƒ์ด๋‹ค.
"""
import sys
from typing import List
"""
๋ฌธ์ œ 4.4.2 ๋ชจ๋“  ๋ฌธ์ž์—ด ์น˜ํ™˜
์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ ๋ฌธ์ž์—ด์˜ ๊ฐ€๋Šฅํ•œ ์น˜ํ™˜์„ ๋ชจ๋‘ ์ถœ๋ ฅํ•ด๋ณด๋Š” ๋ฌธ์ œ์ด๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ์ž…๋ ฅ๋œ ๋ฌธ์ž์—ด์ด 'abc' ๋ผ๋ฉด ๊ฒฐ๊ณผ๋Š” ["abc", "acb", "bac", "cab", "cba"] ๊ฐ€ ๋˜์–ด์•ผ ํ•œ๋‹ค.
๊ฐ ๋ฌธ์ž๊ฐ€ ๋†“์ด๋Š” ๋ชจ๋“  ์œ„์น˜์˜ ์กฐํ•ฉ์„ ๋งŒ๋“ค์–ด๋ผ.
"""
from typing import List
"""
๋ฌธ์ œ 4.4 ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ
์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” n๊ฐœ์˜ ๊ณ„๋‹จ์„ 1๋ฒˆ์— 1๊ฐœ ํ˜น์€ 2๊ฐœ ์˜ฌ๋ผ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ๊ฐ€์ง“์ˆ˜๋ฅผ
์ฐพ์•„๋‚ด๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, N์ด 3์œผ๋กœ ์ฃผ์–ด์ง€๋ฉด
1. 1 + 1 + 1 = 3
2. 1 + 2 = 3
3. 2 + 1 = 3
"""
๋ฌธ์ œ 4.3. ์œ ํšจํ•œ ๊ด„ํ˜ธ ๊ฒ€์ฆ
- ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์€ 3๊ฐ€์ง€ ๊ด„ํ˜ธ์˜ ์—ด๊ณ  ๋‹ซ๊ณ  ๋งŒ์„ ํฌํ•จํ•œ๋‹ค.
- ํ•ด๋‹น ๊ด„ํ˜ธ๋Š” '('์™€ ์Œ์ธ ')' '{'์™€ ์Œ์ธ '}' ๋งˆ์ง€๋ง‰์œผ๋กœ '['์™€ ์Œ์ธ ']' ์ด๋ ‡๊ฒŒ ๊ด„ํ˜ธ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค.
์—ด๊ณ  ๋‹ซ์Œ์˜ ์Œ์ด ์ •์ƒ์ ์ธ์ง€ ํ™•์ธํ•˜๋ผ.
## ์ œํ•œ ์‚ฌํ•ญ
- ๋ฌธ์ž์—ด ์ž…๋ ฅ์ด๋‹ค.