DevYoon
[νλ‘κ·Έλλ¨Έμ€] ν μΈ νμ¬ (Python) λ³Έλ¬Έ
link π https://school.programmers.co.kr/learn/courses/30/lessons/131127
λ¬Έμ μ€λͺ
XYZ λ§νΈλ μΌμ ν κΈμ‘μ μ§λΆνλ©΄ 10μΌ λμ νμ μ격μ λΆμ¬ν©λλ€. XYZ λ§νΈμμλ νμμ λμμΌλ‘ λ§€μΌ ν κ°μ§ μ νμ ν μΈνλ νμ¬λ₯Ό ν©λλ€. ν μΈνλ μ νμ ν루μ νλμ©λ§ ꡬ맀ν μ μμ΅λλ€. μλ°ν μ νμ΄λ μμ μ΄ μνλ μ νκ³Ό μλμ΄ ν μΈνλ λ μ§μ 10μΌ μ°μμΌλ‘ μΌμΉν κ²½μ°μ λ§μΆ°μ νμκ°μ μ νλ € ν©λλ€.
μλ₯Ό λ€μ΄, μ νμ΄κ° μνλ μ νμ΄ λ°λλ 3κ°, μ¬κ³Ό 2κ°, μ 2κ°, λΌμ§κ³ κΈ° 2κ°, λλΉ 1κ°μ΄λ©°, XYZ λ§νΈμμ 15μΌκ° νμμ λμμΌλ‘ ν μΈνλ μ νμ΄ λ μ§ μμλλ‘ μΉν¨, μ¬κ³Ό, μ¬κ³Ό, λ°λλ, μ, μ¬κ³Ό, λΌμ§κ³ κΈ°, λ°λλ, λΌμ§κ³ κΈ°, μ, λλΉ, λ°λλ, μ¬κ³Ό, λ°λλμΈ κ²½μ°μ λν΄ μμλ΄ μλ€. 첫째 λ λΆν° μ΄ν κ°μλ λλΉκ° ν μΈνμ§ μκΈ° λλ¬Έμ 첫째 λ μλ νμκ°μ μ νμ§ μμ΅λλ€. λμ§Έ λ λΆν° μ΄ν κ°μλ λ°λλλ₯Ό μνλ λ§νΌ ν μΈκ΅¬λ§€ν μ μκΈ° λλ¬Έμ λμ§Έ λ μλ νμκ°μ μ νμ§ μμ΅λλ€. μ μ§Έ λ , λ·μ§Έ λ , λ€μ―μ§Έ λ λΆν° κ°κ° μ΄νμ μνλ μ νκ³Ό μλμ΄ μΌμΉνκΈ° λλ¬Έμ μ μ€ ν루μ νμκ°μ μ νλ € ν©λλ€.
μ νμ΄κ° μνλ μ νμ λνλ΄λ λ¬Έμμ΄ λ°°μ΄ wantμ μ νμ΄κ° μνλ μ νμ μλμ λνλ΄λ μ μ λ°°μ΄ number, XYZ λ§νΈμμ ν μΈνλ μ νμ λνλ΄λ λ¬Έμμ΄ λ°°μ΄ discountκ° μ£Όμ΄μ‘μ λ, νμλ±λ‘μ μ νμ΄κ° μνλ μ νμ λͺ¨λ ν μΈ λ°μ μ μλ νμλ±λ‘ λ μ§μ μ΄ μΌμλ₯Ό return νλ solution ν¨μλ₯Ό μμ±νμμ€. κ°λ₯ν λ μ΄ μμΌλ©΄ 0μ return ν©λλ€.
μ νμ¬ν
- 1 ≤ wantμ κΈΈμ΄ = numberμ κΈΈμ΄ ≤ 10
- 1 ≤ numberμ μμ ≤ 10
- number[i]λ want[i]μ μλμ μλ―Ένλ©°, numberμ μμμ ν©μ 10μ λλ€.
- 10 ≤ discountμ κΈΈμ΄ ≤ 100,000
- wantμ discountμ μμλ€μ μνλ²³ μλ¬Έμλ‘ μ΄λ£¨μ΄μ§ λ¬Έμμ΄μ
λλ€.
- 1 ≤ wantμ μμμ κΈΈμ΄, discountμ μμμ κΈΈμ΄ ≤ 12
def solution(want, number, discount):
answer = 0
d_len = len(discount)
w_len = len(want)
for now in range(d_len - 9):
# νμ¬ λ μ§λΆν° 10μΌκ° ν μΈνλ νλͺ©
product = discount[now:now + 10]
cnt = 0
for idx in range(w_len):
# ꡬ맀νλ €λ λ¬Όνμ κ°―μμ ν μΈνλ κ°μκ° μΌμΉνλ©΄ cnt ++
if product.count(want[idx]) == number[idx]:
cnt += 1
# μΌμΉνλ κ°μ == ꡬ맀νλ €λ νλͺ© κ°μ -> νμλ±λ‘ λ μ§ ++
if cnt == w_len:
answer += 1
return answer
- μ²μμ λ¬Έμ λ₯Ό μλͺ» μ½μ΄μ μ νμ΄κ° μνλ μ νμ λͺ¨λ ν μΈλ°μ ꡬ맀ν μ μλ μ΅μ΄μ λ μ§λ₯Ό λ΅μ΄λΌκ³ μκ°νλ€. λ§μΉ¨ μμ μμλ λ΅μ΄ λμμ λ¬Έμ λ₯Ό μλͺ» μ½μλ€κ³ μκ°μ λͺ»νλ€π
- μ΅μ΄μ λ μ§κ° μλλΌ, μ νμ΄κ° μνλ μ νμ λͺ¨λ ν μΈλ°μ ꡬ맀ν μ μλ λ μ μΈμ΄ κ°μλ₯Ό λ°νν΄μ£Όμ΄μΌ νλ€!