λ¬Έμ μ€λͺ
νλΈκ° νλνλ μ½λ© λμ리μμλ μ ν΅μ μΌλ‘ ν΄μ€λ κ²μμ΄ μλ€. μ΄ κ²μμ μ¬λ¬ μ¬λμ΄ λ₯κΈκ² μμμ μ«μλ₯Ό νλμ© μ°¨λ‘λλ‘ λ§νλ κ²μμΈλ°, κ·μΉμ λ€μκ³Ό κ°λ€.
- μ«μλ₯Ό 0λΆν° μμν΄μ μ°¨λ‘λλ‘ λ§νλ€. 첫 λ²μ§Έ μ¬λμ 0, λ λ²μ§Έ μ¬λμ 1, … μ΄ λ²μ§Έ μ¬λμ 9λ₯Ό λ§νλ€.
- 10 μ΄μμ μ«μλΆν°λ ν μλ¦¬μ© λμ΄μ λ§νλ€. μ¦ μ΄ν λ²μ§Έ μ¬λμ 10μ 첫 μλ¦¬μΈ 1, μ΄λ λ²μ§Έ μ¬λμ λμ§Έ μλ¦¬μΈ 0μ λ§νλ€.
μ΄λ κ² κ²μμ μ§νν κ²½μ°,
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, 1, 4, …
μμΌλ‘ μ«μλ₯Ό λ§νλ©΄ λλ€.
ννΈ μ½λ© λμ리 μΌμλ€μ μ»΄ν¨ν°λ₯Ό λ€λ£¨λ μ¬λλ΅κ² μ΄μ§μλ‘ μ΄ κ²μμ μ§ννκΈ°λ νλλ°, μ΄ κ²½μ°μλ
0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, …
μμΌλ‘ μ«μλ₯Ό λ§νλ©΄ λλ€.
μ΄μ§μλ‘ μ§ννλ κ²μμ μ΅μν΄μ Έ μ§λ €κ°λ μ¬λλ€μ μ’ λ λμ΄λλ₯Ό λμ΄κΈ° μν΄ μ΄μ§λ²μμ μμ‘μ§λ²κΉμ§ λͺ¨λ μ§λ²μΌλ‘ κ²μμ μ§νν΄λ³΄κΈ°λ‘ νλ€. μ«μ κ²μμ΄ μ΅μνμ§ μμ νλΈλ κ²μμ μ Έμ λ²μΉμ λ°λ κ΅΄μμ νΌνκΈ° μν΄, μμ μ΄ λ§ν΄μΌ νλ μ«μλ₯Ό μ€λ§νΈν°μ 미리 μΆλ ₯ν΄μ£Όλ νλ‘κ·Έλ¨μ λ§λ€λ €κ³ νλ€. νλΈμ νλ‘κ·Έλ¨μ ꡬννλΌ.
μ λ ₯ νμ
μ§λ² n, 미리 ꡬν μ«μμ κ°―μ t, κ²μμ μ°Έκ°νλ μΈμ m, νλΈμ μμ p κ° μ£Όμ΄μ§λ€.
- 2 β¦ n β¦ 16
- 0 οΌ t β¦ 1000
- 2 β¦ m β¦ 100
- 1 β¦ p β¦ m
μΆλ ₯ νμ
νλΈκ° λ§ν΄μΌ νλ μ«μ tκ°λ₯Ό 곡백 μμ΄ μ°¨λ‘λλ‘ λνλΈ λ¬Έμμ΄. λ¨, 10~15λ κ°κ° λλ¬Έμ A~Fλ‘ μΆλ ₯νλ€.
μ μΆλ ₯ μμ
![](https://blog.kakaocdn.net/dn/d54tQC/btrL1AhC4Sc/2m8yVLGSTcF0D2z7gqad9k/img.png)
νμ΄ μ½λ
from collections import deque
def change(n, number):
result = []
over_decimal = ['A', 'B', 'C', 'D', 'E', 'F']
while number // n != 0:
temp = number % n
number = number // n
if temp >= 10:
temp = over_decimal[temp-10]
else:
temp = str(temp)
result.append(temp)
if number >= 10:
result.append(over_decimal[number-10])
else:
result.append(str(number))
return ''.join(result[::-1])
def solution(n, t, m, p):
answer = []
number = 0
count = 0
while len(answer) != t:
queue = deque(change(n, number))
while queue:
str_num = queue.popleft()
count += 1
if (m != p and count % m == p) or (m == p and count % m == 0):
answer.append(str_num)
if len(answer) == t:
break
number += 1
return ''.join(answer)
λ¬Έμ λ₯Ό μ΄ν΄νλ λ° μ’ μκ°μ΄ 걸릴 μ μλ€.
μ½κ² λ§νλ©΄, 0λΆν° κ³μν΄μ λμ΄λλ μ«μμ λν΄ n μ§μλ‘ λ³ννλ€.
ν μ리μμ© μΈμ³μΌ ν λ, λ΄κ° μΈμ³μΌ νλ μ«μμ λν΄ tν λ²μ§Έμ λ§ ν λ΄μ©κΉμ§λ₯Ό λ΄μ 리ν΄νλ©΄ λλ€.
change ν¨μλ 10μ§μλ₯Ό nμ§μλ‘ λ³ννλ ν¨μμ΄λ€.
0λΆν° μ΄λ μ«μκΉμ§ nμ§μλ‘ λ³νν΄μΌ νλμ§ λͺ¨λ₯΄λ―λ‘, tκ°μ μ«μλ₯Ό μ»μ λκΉμ§λ§ λ³ννλ€.
λ³νλ μ«μλ₯Ό νμ λ£κ³ , ν μλ¦¬μ© λ½μμ λ΄ μμμ λ§λ μλ¦¬λ§ answerμ λ£λλ€.
λ§μ§λ§μΌλ‘ λ°°μ΄μ λ¬Έμμ΄λ‘ λ³νν΄μ£Όλ©΄ λ¬Έμ κ° μ½κ² νλ¦°λ€.
'π μ½λ©ν μ€νΈ λλΉ : PS' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μ€ν¬νΈλ¦¬ (level2, python) (0) | 2022.09.13 |
---|---|
[νλ‘κ·Έλλ¨Έμ€] λ λ°λ¨ΉκΈ° (level2, python) (0) | 2022.09.13 |
[νλ‘κ·Έλλ¨Έμ€] λ±κ΅£κΈΈ (level3, python) (0) | 2022.09.13 |
[νλ‘κ·Έλλ¨Έμ€] [1μ°¨] νλ μ¦4λΈλ‘ (level2, python) (1) | 2022.09.13 |
[νλ‘κ·Έλλ¨Έμ€] νΌλ‘λ (level2, python) (0) | 2022.09.13 |