Skip to content

Instantly share code, notes, and snippets.

View dongwooklee96's full-sized avatar
🐘
Focusing

Lee Dong Wook dongwooklee96

🐘
Focusing
View GitHub Profile
@dongwooklee96
dongwooklee96 / main.py
Created July 6, 2021 14:15
1.13.1 1.13.1
"""
문제 1.13: κ³ μœ ν•œ μ •μˆ˜μ˜ μ§‘ν•©μœΌλ‘œ 배열이 μ£Όμ–΄μ§€λ©΄, κ°€λŠ₯ν•œ λͺ¨λ“  뢀뢄집합을 λ°˜ν™˜ν•˜μž.
μ€‘λ³΅λœ 뢀뢄집합은 ν—ˆμš©ν•˜μ§€ μ•ŠλŠ”λ‹€.
μž…λ ₯으둜 [1, 2, 3]이 μ£Όμ–΄μ§€λ©΄, 결과둜 [[], [1], [2], [3], [1, 2], [1, 3], [2, 3], [1, 2, 3]] 을 λ°˜ν™˜ν•˜λ©΄ λœλ‹€.
## μ œν•œ 사항
- μž…λ ₯은 κ³ μœ ν•œ μ •μˆ˜μ˜ μ§‘ν•©μœΌλ‘œ μ΄λ£¨μ–΄μ Έμžˆλ‹€.
- μ •μˆ˜ν˜• λ°°μ—΄
- λ°˜ν™˜κ°’μ€ 2차원 μ •μˆ˜ν˜• λ°°μ—΄
"""
문제 1.7: μ •λ ¬λœ λ°°μ—΄ nums1, nums2κ°€ μ£Όμ–΄μ§€κ³ , 각각의 ν¬κΈ°λŠ” mκ³Ό n이닀.
정렬을 μœ μ§€ν•˜λ©΄μ„œ nums1 λ°°μ—΄λΆ€ν„° μ±„μ›Œλ‚˜κ°€ nums2κΉŒμ§€ ν™•μž₯을 ν•΄λ³΄μž.
"""
from typing import List
def merge(nums1: List[int], m: int, nums2: List[int], n: int) -> List[int]:
for i, nums1_item in enumerate(nums1):
@dongwooklee96
dongwooklee96 / main.py
Created July 2, 2021 14:12
problem 1.6
"""
문제 1.6: μ£Όμ–΄μ§„ 두 λ°°μ—΄ (nums1, nums2)을 정렬을 μœ μ§€ν•˜λ©΄μ„œ
병합을 ν•΄λ³΄μž.
"""
from typing import List
def merge(nums1: List[int], m: int, nums2: List[int], n: int) -> None:
i = m - 1
"""
문제 1.5.1: μ •λ ¬λœ λ°°μ—΄κ³Ό λͺ©ν‘œκ°’이 μžˆμ„ λ•Œ, λ°°μ—΄μ˜ ν•΄λ‹Ή 인덱슀λ₯Ό λ°˜ν™˜ν•˜κ³ ,
μ°Ύμ§€ λͺ»ν•œλ‹€λ©΄, μ •λ ¬λœ 배열이 λ˜λ„λ‘ λͺ©ν‘œκ°’이 배열에 λ“€μ–΄κ°€μ•Ό ν•˜λŠ” 인덱슀λ₯Ό
κ΅¬ν•˜λŠ” λ¬Έμ œμ΄λ‹€.
"""
from typing import List
def searchIndex(nums: List[int], target: int) -> int:
@dongwooklee96
dongwooklee96 / main.py
Created June 30, 2021 14:15
recursive
"""
문제 : 배열에 μžˆλŠ” 숫자의 μ‘°ν•©μœΌλ‘œ νŠΉμ • 숫자λ₯Ό λ§Œλ“€ 수 μžˆλŠ”μ§€λ₯Ό μ•Œμ•„λ³΄λŠ” λ¬Έμ œμ΄λ‹€.
이해가 잘 λ˜μ§€ μ•ŠλŠ”λ‹€λ©΄, ν•œμ€„ ν•œμ€„ 콜 μŠ€νƒμ„ κ·Έλ €λ³΄λ©΄μ„œ μ΄ν•΄ν•΄λ³΄λŠ” 것이 μ’‹λ‹€.
"""
from typing import List
def group_sum(nums: List[int], subset: List[bool], target: int, i: int) -> bool:
@dongwooklee96
dongwooklee96 / main.py
Created June 29, 2021 14:18
problem 1.4
"""
## 문제 : 1.4
- μ •λ ¬λœ λ°°μ—΄μ˜ μš”μ†Œλ“€μ„ 쀑볡 없이, 단 1λ²ˆμ”©λ§Œ κ°€μ§ˆ 수 μžˆλ„λ‘ μ£Όμ–΄μ§„ 배열을 κ·ΈλŒ€λ‘œ μˆ˜μ •ν•˜κ³ ,
μˆ˜μ •λœ λ°°μ—΄μ˜ μƒˆλ‘œμš΄ 길이λ₯Ό λ°˜ν™˜ν•˜λΌ.
"""
from typing import List
@dongwooklee96
dongwooklee96 / main.py
Created June 28, 2021 14:08
problem 1.3 problem 1.3
"""
## 문제 : 1.3 λ‘μˆ˜μ˜ ν•© μ°ΎκΈ°
μ£Όμ–΄μ§„ μ •μˆ˜ν˜• λ°°μ—΄μ—μ„œ 2개의 숫자λ₯Ό μ„ νƒν•˜μ—¬, λ”ν•œ 값이 νŠΉμ • λͺ©ν‘œκ°’을 λ§Œλ“€λ•Œ,
κ·Έ μ„ νƒν•œ 2개의 μ •μˆ˜κ°€ μžˆλŠ” λ°°μ—΄μ˜ 인덱슀λ₯Ό λ°˜ν™˜ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜λΌ.
μž…λ ₯κ°’ : nums = [2, 7, 10, 19] target = 9
좜λ ₯κ°’ : [0, 1]
"""
from typing import List
@dongwooklee96
dongwooklee96 / main.py
Created June 25, 2021 13:39
problem 1.11
"""
# 문제 1.11 λΉ μ§„ 숫자 μ°ΎκΈ°
- μ£Όμ–΄μ§„ μ •μˆ˜ν˜• 배열은 0 ~ n κΉŒμ§€μ˜ 숫자λ₯Ό λ‹΄κ³  μžˆλŠ”λ° 이 쀑에 λΉ μ§„ 숫자λ₯Ό μ°Ύμ•„λ³΄μž.
- λ°°μ—΄μ˜ 값은 0μ—μ„œ μ‹œμž‘ν•˜μ—¬ nκΉŒμ§€ n + 1개의 μš”μ†Œλ₯Ό κ°€μ§ˆ 수 μžˆμ§€λ§Œ, λ°°μ—΄μ˜ ν¬κΈ°λŠ” n으둜
이 숫자 쀑에 ν•˜λ‚˜λŠ” λΉ μ Έμžˆλ‹€λŠ” λœ»μ΄λ‹€.
- 예λ₯Ό λ“€μ–΄μ„œ, nums = [3, 1, 0] 이라면 λΉ μ§„ μˆ«μžλŠ” 2이닀.
## μ œν•œ 사항
@dongwooklee96
dongwooklee96 / main.py
Last active June 24, 2021 14:59
1.10 λ°°μ—΄μ˜ νšŒμ „
"""
## 문제 : 1.10 λ°°μ—΄μ˜ νšŒμ „
- μž…λ ₯으둜 μ •μˆ˜ν˜• λ°°μ—΄κ³Ό k 값이 μ£Όμ–΄μ§€λ©΄, 각 μš”μ†Œλ₯Ό 우츑으둜
k 번 이동 및 νšŒμ „μ„ ν•΄λ³΄μž.
- kλŠ” μ–‘μ˜ μ •μˆ˜ 값이닀.
- 예λ₯Ό λ“€μ–΄μ„œ, nums 배열에 [1, 2, 3, 4] κ°€ 있고, kκ°€ 1이라면 μš”μ†ŒλŠ” 우츑으둜 1μΉΈμ”©
이동 및 νšŒμ „ν•˜μ—¬ [4, 1, 2, 3] 이 λœλ‹€.
## μ œν•œμ‚¬ν•­ :
@dongwooklee96
dongwooklee96 / main.py
Last active June 23, 2021 14:52
problem 1.9
"""
## 문제 : λ°°μ—΄μ—μ„œ λ‹€μˆ˜μ˜ μš”μ†Œ μ°ΎκΈ°
- μ •μˆ˜ν˜• 배열이 μ£Όμ–΄μ‘Œμ„ λ•Œ, λ‹€μˆ˜μ˜ μš”μ†Œλ₯Ό μ°Ύμ•„λ³΄μž.
- λ‹€μˆ˜μ˜ μš”μ†ŒλŠ” λ°°μ—΄ λ‚΄μ—μ„œ [n / 2] 번 (floor(n / 2))λ₯Ό μ΄ˆκ³Όν•˜μ—¬ λ‚˜νƒ€λ‚˜λŠ” μš”μ†Œλ₯Ό λ§ν•œλ‹€.
- 예λ₯Ό λ“€μ–΄μ„œ, λ°°μ—΄ μš”μ†Œμ˜ 총 κ°œμˆ˜κ°€ 9개라면, n / 2λŠ” 4.5이닀. 결ꡭ에 5번 이상 λ‚˜νƒ€λ‚˜λŠ” μš”μ†Œλ₯Ό 찾으면 λœλ‹€.
- 배열은 항상 1개 μ΄μƒμ˜ μš”μ†Œλ₯Ό κ°€μ§€κ³  있으며, λ‹€μˆ˜μ˜ μˆ˜κ°€ 무쑰건 ν•˜λ‚˜ 쑴재 ν•œλ‹€κ³  κ°€μ •ν•˜μž.
## μ œν•œμ‚¬ν•­ :
- μ •μˆ˜ν˜• 배열이 μ£Όμ–΄μ§„λ‹€.