λ¬Έμ μ€λͺ
ν΄λν°μ μνμ μ»΄ν¨ν° ν€λ³΄λ μνκ³Όλ λ€λ₯΄κ² νλμ ν€μ μ¬λ¬ κ°μ λ¬Έμκ° ν λΉλ μ μμ΅λλ€. ν€ νλμ μ¬λ¬ λ¬Έμκ° ν λΉλ κ²½μ°, λμΌν ν€λ₯Ό μ°μν΄μ λΉ λ₯΄κ² λλ₯΄λ©΄ ν λΉλ μμλλ‘ λ¬Έμκ° λ°λλλ€.
μλ₯Ό λ€μ΄, 1λ² ν€μ "A", "B", "C" μμλλ‘ λ¬Έμκ° ν λΉλμ΄ μλ€λ©΄ 1λ² ν€λ₯Ό ν λ² λλ₯΄λ©΄ "A", λ λ² λλ₯΄λ©΄ "B", μΈ λ² λλ₯΄λ©΄ "C"κ° λλ μμ
λλ€.
κ°μ κ·μΉμ μ μ©ν΄ μ무λ κ²λ λ§λ ν΄λν° μνμ΄ μμ΅λλ€. μ΄ ν΄λν° μνμ ν€μ κ°μκ° 1κ°λΆν° μ΅λ 100κ°κΉμ§ μμ μ μμΌλ©°, νΉμ ν€λ₯Ό λλ μ λ μ
λ ₯λλ λ¬Έμλ€λ 무μμλ‘ λ°°μ΄λμ΄ μμ΅λλ€. λ, κ°μ λ¬Έμκ° μν μ 체μ μ¬λ¬ λ² ν λΉλ κ²½μ°λ μκ³ , ν€ νλμ κ°μ λ¬Έμκ° μ¬λ¬ λ² ν λΉλ κ²½μ°λ μμ΅λλ€. μ¬μ§μ΄ μμ ν λΉλμ§ μμ κ²½μ°λ μμ΅λλ€. λ°λΌμ λͺλͺ λ¬Έμμ΄μ μμ±ν μ μμ μλ μμ΅λλ€.
μ΄ ν΄λν° μνμ μ΄μ©ν΄ νΉμ λ¬Έμμ΄μ μμ±ν λ, ν€λ₯Ό μ΅μ λͺ λ² λλ¬μΌ κ·Έ λ¬Έμμ΄μ μμ±ν μ μλμ§ μμλ³΄κ³ μ ν©λλ€.
1λ² ν€λΆν° μ°¨λ‘λλ‘ ν λΉλ λ¬Έμλ€μ΄ μμλλ‘ λ΄κΈ΄ λ¬Έμμ΄λ°°μ΄ keymapκ³Ό μ
λ ₯νλ €λ λ¬Έμμ΄λ€μ΄ λ΄κΈ΄ λ¬Έμμ΄ λ°°μ΄ targetsκ° μ£Όμ΄μ§ λ, κ° λ¬Έμμ΄μ μμ±νκΈ° μν΄ ν€λ₯Ό μ΅μ λͺ λ²μ© λλ¬μΌ νλμ§ μμλλ‘ λ°°μ΄μ λ΄μ return νλ solution ν¨μλ₯Ό μμ±ν΄ μ£ΌμΈμ.
λ¨, λͺ©ν λ¬Έμμ΄μ μμ±ν μ μμ λλ -1μ μ μ₯ν©λλ€.
μ μΆλ ₯ μ
keymap | targets | result |
["ABACD", "BCEFD"] | ["ABCD","AABB"] | [9, 4] |
["AA"] | ["B"] | [-1] |
["AGZ", "BSSS"] | ["ASA","BGZ"] | [4, 6] |
μ μΆ λ΄μ
def solution(keymap, targets):
dic = {}
answer = []
for i in range(len(keymap)):
for j in range(len(keymap[i])):
alpha = keymap[i][j]
if alpha not in dic:
dic[alpha] = set()
dic[alpha].add(j+1)
for ch in targets:
count = 0
for k in ch:
if k in dic:
count += min(dic[k])
else:
count = -1
break
answer.append(count)
return answer
keymapμ μννλ©΄μ λμ λ리μ ν΄λΉ μνλ²³μ΄ μμΌλ©΄ set μμ±
dic[λ¬Έμ] = {λλ¬μΌ νλ νμ}
targetsμ μννλ©΄μ dicμ ν΄λΉ λ¬Έμκ° μμΌλ©΄ countμ μ΅μκ°μ λν¨
κ°μ΄ μμΌλ©΄ countλ₯Ό -1λ‘ μ€μ νκ³ break
answer λ°°μ΄μ count κ° μΆκ°
νλ‘κ·Έλλ¨Έμ€ > μ½λ©ν μ€νΈ μ°μ΅ > μ°μ΅λ¬Έμ
https://school.programmers.co.kr/learn/courses/30/lessons/160586
νλ‘κ·Έλλ¨Έμ€
SWκ°λ°μλ₯Ό μν νκ°, κ΅μ‘, μ±μ©κΉμ§ Total Solutionμ μ 곡νλ κ°λ°μ μ±μ₯μ μν λ² μ΄μ€μΊ ν
programmers.co.kr
'programmers > Lv.1' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Python] μ«μ μ§κΏ (0) | 2025.04.21 |
---|---|
[Python] νλ²κ±° λ§λ€κΈ° (0) | 2025.04.19 |
[Python] λλ§μ μνΈ (0) | 2025.04.19 |
[Python] λ¬Έμμ΄ λλκΈ° (0) | 2025.04.19 |
[Python] μΉμμ΄ (2) (0) | 2025.04.16 |