# κ°μ₯ κ°κΉμ΄ κ°μ κΈμ # 142086 # lv1
# λ¬Έμ
λ¬Έμμ΄ sκ° μ£Όμ΄μ‘μ λ, sμ κ° μμΉλ§λ€ μμ λ³΄λ€ μμ λμμΌλ©΄μ, μμ κ³Ό κ°μ₯ κ°κΉμ΄ κ³³μ μλ κ°μ κΈμκ° μ΄λ μλμ§ μκ³ μΆμ΅λλ€.
μλ₯Ό λ€μ΄, s="banana"λΌκ³ ν λ, κ° κΈμλ€μ μΌμͺ½λΆν° μ€λ₯Έμͺ½μΌλ‘ μ½μ΄ λκ°λ©΄μ λ€μκ³Ό κ°μ΄ μ§νν μ μμ΅λλ€.
bλ μ²μ λμκΈ° λλ¬Έμ μμ μ μμ κ°μ κΈμκ° μμ΅λλ€. μ΄λ -1λ‘ ννν©λλ€.
aλ μ²μ λμκΈ° λλ¬Έμ μμ μ μμ κ°μ κΈμκ° μμ΅λλ€. μ΄λ -1λ‘ ννν©λλ€.
nμ μ²μ λμκΈ° λλ¬Έμ μμ μ μμ κ°μ κΈμκ° μμ΅λλ€. μ΄λ -1λ‘ ννν©λλ€.
aλ μμ λ³΄λ€ λ μΉΈ μμ aκ° μμ΅λλ€. μ΄λ 2λ‘ ννν©λλ€.
nλ μμ λ³΄λ€ λ μΉΈ μμ nμ΄ μμ΅λλ€. μ΄λ 2λ‘ ννν©λλ€.
aλ μμ λ³΄λ€ λ μΉΈ, λ€ μΉΈ μμ aκ° μμ΅λλ€. μ΄ μ€ κ°κΉμ΄ κ²μ λ μΉΈ μμ΄κ³ , μ΄λ 2λ‘ ννν©λλ€.
λ°λΌμ μ΅μ’
κ²°κ³Όλ¬Όμ [-1, -1, -1, 2, 2, 2]κ° λ©λλ€.
λ¬Έμμ΄ sμ΄ μ£Όμ΄μ§ λ, μμ κ°μ΄ μ μλ μ°μ°μ μννλ ν¨μ solutionμ μμ±ν΄μ£ΌμΈμ.
# μ νμ¬ν
1 ≤ sμ κΈΈμ΄ ≤ 10,000
- sμ μμ΄ μλ¬Έμλ‘λ§ μ΄λ£¨μ΄μ Έ μμ΅λλ€.
# νμ΄
def solution(s):
dic1 = {} # key : iλ²μ§Έ sμμ, value = ν΄λΉ μμμ μΈλ±μ€
return_list = [] # μ΅μ’
-1κ³Ό x(κ°κ²©)μ΄ λ€μ΄κ° 리μ€νΈ
for i in range(len(s)):
if s[i] in dic1: # λ§μ½ dic1μ s[i]κ°μ΄ μλ€λ©΄
return_list.append(i - dic1[s[i]]) # return_listμ i(μΈλ±μ€) - dic1[s[i]] (ν΄λΉ κ°μ μΈλ±μ€) ν κ²°κ³Όλ₯Ό append.
else:
return_list.append(-1) # λ§μ½ s[i]κ° μλ€λ©΄, -1 μ append.
dic1[s[i]] = i # μ€λ³΅λλ μμκ° μλ€λ©΄, μΈλ±μ€ κ°μ μ΅μ νν΄μ€μΌ ν¨.
return return_list # μ΅μ’
return_list 리ν΄.
μ΄λ―Έμ§ μΆμ²)
"https://www.flaticon.com/free-icons/flow" Flow icons created by Good Ware - Flaticon