μ½λ©ν μ€νΈμμ κ°μ₯ μΆμ λΉλκ° λμ λ¬Έμ λ 그리λ, ꡬν, DFS/BFS λ₯Ό νμ©ν νμ λ¬Έμ λΌκ³ νλ€!
μμλλ‘ ν¬μ€ν ν μμ μ΄κ³ , μ€λμ κΈ°μ΄ κ·Έλ¦¬λ λ¬Έμ μ λν΄ λ€λ€λ³΄κ³ μ νλ€
π 그리λ μκ³ λ¦¬μ¦ : νμλ², νμ¬ μν©μμ μ§κΈ λΉμ₯ μ’μ κ²λ§ κ³ λ₯΄λ λ°©λ²
- μΌλ°μ μΌλ‘ 그리λ μκ³ λ¦¬μ¦μ λ¬Έμ λ₯Ό νκΈ° μν μ΅μνμ μμ΄λμ΄λ₯Ό λ μ¬λ¦΄ μ μλ λ₯λ ₯μ μꡬ
- μ λΉμ± λΆμμ΄ μ€μ : λ¨μν κ°μ₯ μ’μ보μ΄λ κ²μ λ°λ³΅μ μΌλ‘ μ νν΄λ μ΅μ μ ν΄λ₯Ό ꡬν μ μλμ§ κ²ν
- μΌλ°μ μΈ μν©μμ 그리λ μκ³ λ¦¬μ¦μ μ΅μ μ ν΄λ₯Ό 보μ₯ν μ μμ λκ° λ§μ
- νμ§λ§, μ½λ©ν μ€νΈμμ λλΆλΆμ 그리λ λ¬Έμ λ νμλ²μΌλ‘ μ»μ ν΄κ° μ΅μ μ ν΄κ° λλ μν©μμ μ΄λ₯Ό μΆλ‘ ν μ μμ΄μΌ ν리λλ‘ μΆμ λ¨
π΅λνμ μΈ κ·Έλ¦¬λ μκ³ λ¦¬μ¦ λ¬Έμ ! κ±°μ€λ¦λ
500μ, 100μ, 50μ, 10μμ§λ¦¬ λμ μ΄ λ¬΄νν μ‘΄μ¬
-> μλμκ² κ±°μ¬λ¬μ€μΌ ν λμ΄ NμμΌ λ κ±°μ¬λ¬μ€μΌ ν λμ μ μ΅μ κ°μ ?
(λ¨, κ±°μ¬λ¬ μ€μΌ ν λ Nμ νμ 10μ λ°°μ)
β‘οΈλ¬Έμ ν΄κ²° μμ΄λμ΄
- μ΅μ μ ν΄λ₯Ό κ°μ₯ λΉ λ₯΄κ² ꡬνκΈ° μν΄μ κ°μ₯ ν° ννλ¨μ λΆν° λμ κ±°μ¬λ¬ μ£Όλ κ²
- Nμμ κ±°μ¬λ¬ μ€ λ, 500μμΌλ‘ κ±°μ¬λ¬ μ€ μ μμ λ§νΌ κ±°μ¬λ¬ μ£Όκ³ , κ·Έ λ€μ 100 50 10 μμ§λ¦¬ λμ μ μ°¨λ‘λλ‘ κ±°μ¬λ¬ μ£ΌκΈ°
n = 1260
count = 0
# ν° λ¨μμ ννλΆν° μ°¨λ‘λ‘ νμΈνκΈ°
array = [500, 100, 50, 10]
for coin in array:
count += n // coin # ν΄λΉ ννλ‘ κ±°μ¬λ¬ μ€ μ μλ λμ μΈκΈ°
n %= coin
print(count)
π₯¦ μ λΉμ± λΆμ
- κ°μ§κ³ μλ λμ μ€μμ ν° λ¨μκ° νμ μμ λ¨μμ λ°°μμ΄λ―λ‘ μμ λ¨μμ λμ λ€μ μ’ ν©ν΄ λ€λ₯Έ ν΄κ° λμ¬ μ μμ
- λλΆλΆμ 그리λ μκ³ λ¦¬μ¦ λ¬Έμ μμλ μ΄μ²λΌ λ¬Έμ νμ΄λ₯Ό μν μ΅μνμ μμ΄λμ΄λ₯Ό λμ¬λ¦¬κ³ μ΄κ²μ΄ μ λΉνμ§ κ²ν ν μ μμ΄μΌ λ΅μ λμΆ ν μ μμ
π μκ° λ³΅μ‘λ λΆμ
- ννμ μ’ λ₯κ° K λΌκ³ ν λ, μμ€μ½λμ μκ° λ³΅μ‘λλ O(K)
- μκ³ λ¦¬μ¦μ μκ° λ³΅μ‘λλ κ±°μ¬λ¬μ€μΌνλ κΈμ‘κ³Όλ 무κ΄, ννμ μ’ λ₯λ§νΌ λ°λ³΅νλ©΄ λ¬Έμ ν΄κ²°
μ΄λ€ μ½λ©ν μ€νΈ λ¬Έμ λ₯Ό λ§λ¬μ λ , λ°λ‘ λ¬Έμ μ νμ νμ νκΈ° μ΄λ ΅λ€λ©΄ 그리λ μκ³ λ¦¬μ¦μ μμ¬νκ³ , λ¬Έμ λ₯Ό ν΄κ²°ν μ μλ νμμ μΈ ν΄κ²°λ²μ΄ μ‘΄μ¬νλμ§ κ³ λ―Όν΄λ³΄μ. μ€λ μκ°μ κ³ λ―Όν΄λ 그리λ μκ³ λ¦¬μ¦μΌλ‘ ν΄κ²°λ°©λ²μ μ°Ύμ μ μλ€λ©΄, μ΄νμ λ€λ£¨κ² λ λ€μ΄λλ―Ή νλ‘κ·Έλλ°μ΄λ κ·Έλν μκ³ λ¦¬μ¦ λ±μΌλ‘ λ¬Έμ λ₯Ό ν΄κ²°ν μ μλμ§ μ¬μ°¨ κ³ λ―Ό !
μ€μ λ‘ κ±°μ€λ¦λ λ¬Έμ μμ λμ μ λ¨μκ° μλ‘ λ°°μ ννκ° μλλΌ λ¬΄μμλ‘ μ£Όμ΄μ§ κ²½μ°μλ 그리λ μκ³ λ¦¬μ¦μΌλ‘ ν΄κ²° ν μ μλ€. ννμ λ¨μκ° λ¬΄μμλ‘ μ£Όμ΄μ§ λ¬Έμ λ λ€μ΄λλ―Ή νλ‘κ·Έλλ°μΌλ‘ ν΄κ²°ν μ μλ€.
μ€μ λ¬Έμ νμ΄
1οΈβ£λ¬Έμ 1 : ν° μμ λ²μΉ
- λ€μν μλ‘ μ΄λ£¨μ΄μ§ λ°°μ΄μ΄ μμ λ μ£Όμ΄μ§ μλ€μ M λ² λνμ¬ κ°μ₯ ν° μλ₯Ό λ§λλ λ²μΉμ΄λ€
- λ¨, λ°°μ΄μ νΉμ ν μΈλ±μ€μ ν΄λΉνλ μκ° μ°μν΄μ Kλ²μ μ΄κ³Όνμ¬ λν΄μ§ μ μλ κ²μ΄ νΉμ§μ΄λ€
- μλ₯Ό λ€μ΄ μμλλ‘ 2,4,5,4,6 μΌλ‘ μ΄λ£¨μ΄μ§ λ°°μ΄μ΄ μμ λ Mμ΄ 8μ΄κ³ , Kκ° 3μ΄λΌκ³ κ°μ ν΄λ³΄μ.
μ΄ κ²½μ° νΉμ ν μΈλ±μ€μ μκ° μ°μν΄μ 3λ²κΉμ§λ§ λν΄μ§ μ μμΌλ―λ‘ 6+6+6+5+6+6+6+5 μΈ 46μ΄ λλ€.
- λ¨, μλ‘ λ€λ₯Έ μΈλ±μ€μ ν΄λΉνλ μκ° κ°μ κ²½μ°μλ μλ‘ λ€λ₯Έ κ²μΌλ‘ κ°μ£Ό. λλ²μ§Έ μΈλ±μ€μ 4μ λ€λ²μ§Έ μΈλ±μ€μ 4λ λ€λ₯΄λ€.
π μ λ ₯쑰건
- 첫째 μ€μ N, M, K μ μμ°μκ° μ£Όμ΄μ§λ©°, 곡백μΌλ‘ ꡬλΆ
- λμ§Έ μ€μ Nκ°μ μμ°μκ° μ£Όμ΄μ§λ©°, 곡백μΌλ‘ ꡬλΆ. λ¨ κ°κ°μ μμ°μλ 1 μ΄μ 10000μ΄νμ μλ‘ μ£Όμ΄μ§λ€.
- μ λ ₯μΌλ‘ μ£Όμ΄μ§λ Kλ νμ Mλ³΄λ€ μκ±°λ κ°λ€
π μΆλ ₯쑰건
- ν° μμ λ²μΉμ λ°λΌ λν΄μ§ λ΅μ μΆλ ₯νλ€.
- λ¬Έμ ν΄κ²° μμ΄λμ΄ : κ°μ₯ ν° μμ λλ²μ§Έλ‘ ν° μ λ§ μ μ₯νκ³ , μ°μμΌλ‘ μ΅λ kλ² λν μ μμΌλ―λ‘ κ°μ₯ ν°μλ₯Ό kλ² λνκ³ λ λ²μ§Έλ‘ ν°μλ₯Ό 1λ²λ§ λνλ κ²μ λ°λ³΅νμ!
# N,M,K 곡백μΌλ‘ ꡬλΆνμ¬ μ
λ ₯λ°κΈ° , Nκ°μ μλ₯Ό 곡백μΌλ‘ ꡬλΆνμ¬ μ
λ ₯λ°κΈ°
n, m, k = map(int, input().split())
data = list(map(int, input().split()))
data.sort() # μ
λ ₯λ°μ μλ₯Ό μ λ ¬
first = data[n - 1] #κ°μ₯ ν°μ
second = data[n - 2] #λλ²μ§Έλ‘ ν°μ
result = 0
while True:
for i in range(k): # κ°μ₯ ν° μλ₯Ό kλ² λνκΈ°
if m == 0: # mμ΄ 0μ΄λΌλ©΄ λ°λ³΅λ¬Έ νμΆ
break
result += first
m -= 1 # λν λ λ§λ€ 1μ© λΉΌκΈ°
if m == 0:
break
result += second # λλ²μ§Έλ‘ ν° μλ₯Ό νλ²λ§ λνκΈ°
m -= 1 # λν λλ§λ€ 1μ© λΉΌκΈ°
print(result)
νμ΄ 1 : λ¨μνκ² νΈλ μμ -> Mμ μκ° μ»€μ§λ€λ©΄? μκ°μ΄κ³Όμ κ°λ₯μ±μ΄ μμΌλ―λ‘, λ ν¨μ¨μ μΈ νμ΄ νμ
# N,M,K 곡백μΌλ‘ ꡬλΆνμ¬ μ
λ ₯λ°κΈ° , Nκ°μ μλ₯Ό 곡백μΌλ‘ ꡬλΆνμ¬ μ
λ ₯λ°κΈ°
n, m, k = map(int, input().split())
data = list(map(int, input().split()))
data.sort() # μ
λ ₯λ°μ μλ₯Ό μ λ ¬
first = data[n - 1] #κ°μ₯ ν°μ
second = data[n - 2] #λλ²μ§Έλ‘ ν°μ
# κ°μ₯ ν° μκ° λν΄μ§λ νμ κ³μ°
count = int(m / (k+1)) * k # mμ k+1 λ‘ λλ λͺ«μ k κ³±νκΈ°
count += m % (k + 1) # λλμ΄ λ¨μ΄μ§μ§ μλ κ²½μ°, λλ¨Έμ§ λ§νΌ ν°μκ° λν΄μ§λ€
result = 0
result += (count) * first # κ°μ₯ ν°μ λνκΈ°
result += (m - count) * second # λλ²μ§Έλ‘ ν°μ λνκΈ°
print(result)
νμ΄ 2 : λ°λ³΅λλ μμ΄μ λν΄μ νμ -> κ°μ₯ ν° μμ λλ²μ§Έλ‘ ν° μκ° λν΄μ§ λμλ νΉμ ν μμ΄ ννλ‘ μΌμ νκ² λ°λ³΅ν΄μ λν΄μ§λ κ²½ν₯μ΄ μμ -> κ·Έ κΈΈμ΄λ K + 1
π₯ Mμ K + 1λ‘ λλ λͺ«μ΄ μμ΄μ΄ λ°λ³΅λλ νμκ° λκ³ , μ¬κΈ°μ K λ₯Ό κ³±ν΄μ£Όλ©΄ κ°μ₯ ν° μκ° λ±μ₯νλ νμκ° λλ€
λ§μ½μ λλμ΄ λ¨μ΄μ§μ§ μλ κ²½μ° λλ¨Έμ§λ§νΌ κ°μ₯ ν° μκ° λν΄μ§λ―λ‘ μ΄λ₯Ό λν΄μ€λ€ !
κ²°κ³Όμ μΌλ‘, μ΅μ’ κ²°κ³Ό κ°μ μ΄ νμ λ§νΌ κ°μ₯ ν° μλ₯Ό λν΄μ£Όκ³ λ¨μ νμλ§νΌ λλ²μ§Έλ‘ ν° μ λ₯Ό λν΄μ€λ€ !
GitHub - Suyeon9911/Algorithm-Study: μκ³ λ¦¬μ¦ κ³΅λΆ λ ν¬ π¦
μκ³ λ¦¬μ¦ κ³΅λΆ λ ν¬ π¦. Contribute to Suyeon9911/Algorithm-Study development by creating an account on GitHub.
github.com
'Algorithm > CodingTest - Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| Algorithm) DFS/BFS μ€μ λ¬Έμ (0) | 2022.04.02 |
|---|---|
| Algorithm) DFS/BFS (0) | 2022.04.02 |
| Algorithm) μλ£κ΅¬μ‘° κΈ°μ΄ (Feat. DFSμ BFSμ λ€μ΄κ°κΈ° μ ..) (1) | 2022.04.01 |
| Algorithm ) Implementation (0) | 2022.04.01 |
| Algorithm ) Greedy (2) (2) | 2022.02.06 |