Skip to content

Instantly share code, notes, and snippets.

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

Lee Dong Wook dongwooklee96

๐Ÿ˜
Focusing
View GitHub Profile
"""
๋ฌธ์ œ 4.4 ๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ
์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” n๊ฐœ์˜ ๊ณ„๋‹จ์„ 1๋ฒˆ์— 1๊ฐœ ํ˜น์€ 2๊ฐœ ์˜ฌ๋ผ ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์˜ ๊ฐ€์ง“์ˆ˜๋ฅผ
์ฐพ์•„๋‚ด๋Š” ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด์„œ, N์ด 3์œผ๋กœ ์ฃผ์–ด์ง€๋ฉด
1. 1 + 1 + 1 = 3
2. 1 + 2 = 3
3. 2 + 1 = 3
"""
๋ฌธ์ œ 4.3. ์œ ํšจํ•œ ๊ด„ํ˜ธ ๊ฒ€์ฆ
- ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์€ 3๊ฐ€์ง€ ๊ด„ํ˜ธ์˜ ์—ด๊ณ  ๋‹ซ๊ณ  ๋งŒ์„ ํฌํ•จํ•œ๋‹ค.
- ํ•ด๋‹น ๊ด„ํ˜ธ๋Š” '('์™€ ์Œ์ธ ')' '{'์™€ ์Œ์ธ '}' ๋งˆ์ง€๋ง‰์œผ๋กœ '['์™€ ์Œ์ธ ']' ์ด๋ ‡๊ฒŒ ๊ด„ํ˜ธ๋กœ ๊ตฌ์„ฑ๋˜๋Š” ๋ฌธ์ž์—ด์ด ์žˆ๋‹ค.
์—ด๊ณ  ๋‹ซ์Œ์˜ ์Œ์ด ์ •์ƒ์ ์ธ์ง€ ํ™•์ธํ•˜๋ผ.
## ์ œํ•œ ์‚ฌํ•ญ
- ๋ฌธ์ž์—ด ์ž…๋ ฅ์ด๋‹ค.
"""
๋ฌธ์ œ 3.6. ์ฃผ์–ด์ง„ 2๊ฐœ์˜ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ํ‘œํ˜„๋˜๋Š” ์–‘์˜ ์ •์ˆ˜์˜ ํ•ฉ์˜ ๊ฒฐ๊ณผ๋ฅผ ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ˜ํ™˜์„ ํ•ด๋ณด์ž.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ, 1 -> 2 -> 3๊ณผ 4 -> 5 -> 6์ด ์ฃผ์–ด์กŒ๋‹ค๋ฉด, 5 -> 7 -> 9๋ฅผ ๋ฐ˜ํ™˜ ํ•˜๋ฉด ๋œ๋‹ค.
## ์ œํ•œ ์‚ฌํ•ญ
1. ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ๋Š” ์–‘์˜ ์ •์ˆ˜๋กœ ํ‘œํ˜„
2. 1๋ฒˆ์งธ ๋…ธ๋“œ๋Š” ๊ฐ€์žฅ ๋†’์€ ์ž๋ฆฌ์˜ ์ˆซ์ž
3. ์ฃผ์–ด์ง„ ๋‘ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๋Š” ๋ฌด์กฐ๊ฑด ๊ฐ’์ด ์žˆ๋‹ค.
4. 0์„ ์ œ์™ธํ•˜๊ณ  0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž๋Š” ์—†๋‹ค. (0 -> 3 -> 3 ๊ณผ ๊ฐ™์€ ์ž…๋ ฅ์€ ์—†๋‹ค.)
"""
# ๋ฌธ์ œ : ์ˆœํ™˜ ๊ฒ€์ถœ (Cycle Detection)
- ์ฃผ์–ด์ง„ ์—ฐ๊ฒฐ ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ˆœํ™˜์„ ๊ฐ€์ง€๋Š”์ง€ ํŒ๋‹จํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ
- ์ˆœํ™˜์ด๋ผ๊ณ  ํ•˜๋ฉด, ํŠน์ • ๋…ธ๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ด์ „ ํŠน์ • ๋…ธ๋“œ๋กœ ๋Œ์•„๊ฐ€ ์ˆœํ™˜์ด ์ƒ๊ธฐ๋Š”
๊ฒฝ์šฐ๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.
## ์•„์ด๋””์–ด (Brute-force)
1. ๋…ธ๋“œ๋ฅผ ์ˆœํšŒํ•œ๋‹ค.
@dongwooklee96
dongwooklee96 / main.py
Created July 15, 2021 11:03
3.4.3 3.4.3
"""
๋ฌธ์ œ : ์—ฐ๊ฒฐ๋ฆฌ์ŠคํŠธ ๋’ค์ง‘๊ธฐ
"""
class Node:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
"""
## ๋ฌธ์ œ : IPv4์™€ IPv6๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋ผ.
## ์ œํ•œ ์‚ฌํ•ญ (IPv4)
1. ์ (.)์œผ๋กœ ์ˆซ์ž๋ฅผ ๊ตฌ๋ถ„ํ•œ๋‹ค.
2. ์ (.)์œผ๋กœ ๊ตฌ๋ถ„๋œ ์ˆซ์ž๋Š” 4๊ฐœ์ด๋‹ค.
3. ๊ฐ ์ˆซ์ž์˜ ๋ฒ”์œ„๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž๋Š” ์—†๋‹ค.
4. 0์„ ์ œ์™ธํ•˜๊ณ  0์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ˆซ์ž๋Š” ์—†๋‹ค.
"""
## ๋ฌธ์ œ : 2.4 ๊ทธ๋ฃน ์• ๋„ˆ๊ทธ๋žจ
๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ๊ฐ€ ์ฃผ์–ด์ง€๋Š”๋ฐ, ๋ฆฌ์ŠคํŠธ์— ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ๊ฒ€์‚ฌํ•ด ์„œ๋กœ ๊ฐ™์€ ์• ๋„ˆ๊ทธ๋žจ์„ ๊ฐ€์ง€๋Š” ๋ฌธ์ž์—ด์„ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์–ด๋ณด์ž.
์˜ˆ๋ฅผ ๋“ค์–ด์„œ, ๋ฌธ์ž์—ด ๋ฆฌ์ŠคํŠธ๊ฐ€ ์•„๋ž˜์™€ ๊ฐ™์ด ์ฃผ์–ด์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž.
strs = ['eat', 'repaid', 'paired', 'tea', 'bat']
res = [
['eat', 'tea'],
"""
๋ฌธ์ œ 2.3: ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง€๊ณ , ํ•ด๋‹น ๋ฌธ์ž์—ด์ด ํšŒ๋ฌธ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ํ™•์ธํ•˜๋ผ
## ์ œํ•œ ์‚ฌํ•ญ
1. ๋ฌธ์ž์—ด์˜ ์ž…๋ ฅ true, ํ˜น์ธ false๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
2. ๋น„์–ด์žˆ๋Š” ๋ฌธ์ž์—ด์€ ํšŒ๋ฌธ์ด๋ผ๊ณ  ๊ฐ„์ฃผํ•œ๋‹ค.
"""
from typing import List
"""
๋ฌธ์ œ 1.14: 2์ฐจ์› ๋ฌธ์ž ๋ฐฐ์—ด๊ณผ ๋‹จ์–ด ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค. ๋ฌธ์ž ๋ฐฐ์—ด์— ์ธ์ ‘ํ•œ ๋ฌธ์ž์˜ ์กฐํ•ฉ์œผ๋กœ,
์ฃผ์–ด์ง„ ๋‹จ์–ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š”์ง€ ํ™•์ธํ•ด๋ณด์ž.
์˜ˆ๋ฅผ ๋“ค์–ด
board = [
["A", "B", "C", "E"],
["S", "F", "E", "S"],
["A", "D", "E", "E"]
]
@dongwooklee96
dongwooklee96 / main.py
Created July 7, 2021 14:00
1.13.1 1.13.1
"""
๋ฌธ์ œ 1.13: ๊ณ ์œ ํ•œ ์ •์ˆ˜์˜ ์ง‘ํ•ฉ์œผ๋กœ ๋ฐฐ์—ด์ด ์ฃผ์–ด์ง€๋ฉด, ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ถ€๋ถ„์ง‘ํ•ฉ์„ ๋ฐ˜ํ™˜ํ•˜์ž.
์ค‘๋ณต๋œ ๋ถ€๋ถ„์ง‘ํ•ฉ์€ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค.
์ž…๋ ฅ์œผ๋กœ [1, 2, 3]์ด ์ฃผ์–ด์ง€๋ฉด, ๊ฒฐ๊ณผ๋กœ [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]] ์„ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋œ๋‹ค.
## ์ œํ•œ ์‚ฌํ•ญ
- ์ž…๋ ฅ์€ ๊ณ ์œ ํ•œ ์ •์ˆ˜์˜ ์ง‘ํ•ฉ์œผ๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค.
- ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด
- ๋ฐ˜ํ™˜๊ฐ’์€ 2์ฐจ์› ์ •์ˆ˜ํ˜• ๋ฐฐ์—ด