π¬ λ¬Έμ μ€λͺ : μμ°
Sμ¬μμλ κ° λΆμμ νμν λ¬Όνμ μ§μν΄ μ£ΌκΈ° μν΄ λΆμλ³λ‘ λ¬Όνμ ꡬ맀νλλ° νμν κΈμ‘μ μ‘°μ¬νμ΅λλ€. κ·Έλ¬λ, μ 체 μμ°μ΄ μ ν΄μ Έ μκΈ° λλ¬Έμ λͺ¨λ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μλ μμ΅λλ€. κ·Έλμ μ΅λν λ§μ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μ μλλ‘ νλ €κ³ ν©λλ€.
λ¬Όνμ κ΅¬λ§€ν΄ μ€ λλ κ° λΆμκ° μ μ²ν κΈμ‘λ§νΌμ λͺ¨λ μ§μν΄ μ€μΌ ν©λλ€. μλ₯Ό λ€μ΄ 1,000μμ μ μ²ν λΆμμλ μ νν 1,000μμ μ§μν΄μΌ νλ©°, 1,000μλ³΄λ€ μ μ κΈμ‘μ μ§μν΄ μ€ μλ μμ΅λλ€.
λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄ dμ μμ° budgetμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ΅λ λͺ κ°μ λΆμμ λ¬Όνμ μ§μν μ μλμ§ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
π μ ν μ¬ν
- dλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄μ΄λ©°, κΈΈμ΄(μ 체 λΆμμ κ°μ)λ 1 μ΄μ 100 μ΄νμ λλ€.
- dμ κ° μμλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ λνλ΄λ©°, λΆμλ³ μ μ² κΈμ‘μ 1 μ΄μ 100,000 μ΄νμ μμ°μμ λλ€.
- budgetμ μμ°μ λνλ΄λ©°, 1 μ΄μ 10,000,000 μ΄νμ μμ°μμ λλ€.
π‘ λμ νμ΄
def solution(d, budget):
#μμ°μ΄ λͺ¨λ λΆμλ₯Ό μ§μν μ μλ κ²½μ°
num_of_dept = 0
if sum(d) <= budget:
return(len(d))
#μμ°μ΄ λͺ¨λ λΆμλ₯Ό μ§μν μ μλ κ²½μ°
if sum(d) > budget:
d.sort() #νμν μμ° μ€λ¦μ°¨μμΌλ‘ μ λ ¬
bud_dept = [] #μ§μλ°μ μ μλ λΆμ
sum_i = 0 #μ§μν κΈμ‘
for i in d:
if i <= budget-sum_i: #μ λΆμλ₯Ό μ§μνκ³ λ¨μ κΈμ‘μ΄ κ·Έ λ€μλΆμκ° νμν κΈμ‘λ³΄λ€ ν¬κ±°λ κ°λ€λ©΄
bud_dept.append(i) #κ·Έ λΆμλ μ§μ κ°λ₯
sum_i = sum_i + i
return(len(bud_dept))
π‘ λ€λ₯Έ ν΄μ€
def solution(d, budget):
d.sort()
while budget < sum(d):
d.pop()
return len(d)
whileλ¬ΈμΌλ‘ μμ² μ½κ² λ리λ€..
ππ» λ¬Έμ λ°λ‘κ°κΈ°
π¬ λ¬Έμ μ€λͺ
: 체μ‘볡
μ μ¬μκ°μ λλμ΄ λ€μ΄, μΌλΆ νμμ΄ μ²΄μ‘볡μ λλλΉνμ΅λλ€. λ€νν μ¬λ² 체μ‘λ³΅μ΄ μλ νμμ΄ μ΄λ€μκ² μ²΄μ‘볡μ λΉλ €μ£Όλ € ν©λλ€. νμλ€μ λ²νΈλ 체격 μμΌλ‘ λ§€κ²¨μ Έ μμ΄, λ°λ‘ μλ²νΈμ νμμ΄λ λ°λ‘ λ·λ²νΈμ νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. μλ₯Ό λ€μ΄, 4λ² νμμ 3λ² νμμ΄λ 5λ² νμμκ²λ§ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€. 체μ‘λ³΅μ΄ μμΌλ©΄ μμ
μ λ€μ μ μκΈ° λλ¬Έμ 체μ‘볡μ μ μ ν λΉλ € μ΅λν λ§μ νμμ΄ μ²΄μ‘μμ
μ λ€μ΄μΌ ν©λλ€.
μ 체 νμμ μ n, 체μ‘볡μ λλλΉν νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ lost, μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμλ€μ λ²νΈκ° λ΄κΈ΄ λ°°μ΄ reserveκ° λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, 체μ‘μμ
μ λ€μ μ μλ νμμ μ΅λκ°μ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
π μ ν μ¬ν
- μ 체 νμμ μλ 2λͺ μ΄μ 30λͺ μ΄νμ λλ€.
- 체μ‘볡μ λλλΉν νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ²μ 체μ‘볡μ κ°μ Έμ¨ νμμ μλ 1λͺ μ΄μ nλͺ μ΄νμ΄κ³ μ€λ³΅λλ λ²νΈλ μμ΅λλ€.
- μ¬λ² 체μ‘λ³΅μ΄ μλ νμλ§ λ€λ₯Έ νμμκ² μ²΄μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
- μ¬λ² 체μ‘볡μ κ°μ Έμ¨ νμμ΄ μ²΄μ‘볡μ λλλΉνμ μ μμ΅λλ€. μ΄λ μ΄ νμμ 체μ‘볡μ νλλ§ λλλΉνλ€κ³ κ°μ νλ©°, λ¨μ 체μ‘λ³΅μ΄ νλμ΄κΈ°μ λ€λ₯Έ νμμκ²λ 체μ‘볡μ λΉλ €μ€ μ μμ΅λλ€.
π‘ λμ νμ΄
def solution(n, lost, reserve):
#tempλ nκ°μ μΈλ±μ€λ₯Ό κ°μ§λ©°, λͺ¨λ 체μ‘볡μ ν κ°μ© κ°μ Έμλ€κ³ κ°μ .
temp = []
i = 0
while i < n :
temp.append(1)
i += 1
#체μ‘볡μ μμ΄λ²λ¦° νμλ€μ -1
for l in lost:
temp[l-1] = temp[l-1] -1
#체μ‘볡μ μ¬λ²λ‘ κ°μ Έμ¨ νμλ€ +1
for r in reserve:
temp[r-1] = temp[r-1] + 1
cnt = 0 #μ²΄μ‘ μμ
μ μ°Έμ¬νλ νμ μ
for i in range (0,n-1):
if (temp[i] == 0) and (temp[i+1]==2):
temp[i] += 1
temp[i+1] -=1
elif (temp[i] == 2) and (temp[i+1]==0):
temp[i] -= 1
temp[i+1] +=1
for i in range(0,n):
if temp[i] >= 1 or temp[i] >=2 :
cnt+=1
return cnt
λ€ νκ³ λλ μμ² λΏλ―νλ€
test case12μμ κ±Έλ Έλλ°,
νμ΄μ¬ λ°°μ΄μ μμ μΈλ±μ€λ λμ μ«μλ€μ κ°μ Έμ€λ κ²μ κΉλΉ‘νκΈ° λλ¬Έ.
ππ» λ¬Έμ λ°λ‘κ°κΈ°
'Coding > Code in the Morning' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
220117_Code in the morning (μ£Όμκ°κ²©) (0) | 2022.01.17 |
---|---|
220110_Code in the morning (0) | 2022.01.10 |
211230_Code in the morning(μμμ°ΎκΈ°, μλΌν μ€ν λ€μ€μ 체) (0) | 2021.12.30 |
211229_Code in the morning (0) | 2021.12.29 |
211228_Code in the morning (0) | 2021.12.28 |