D4
Problem
SW Expert Academy
SW νλ‘κ·Έλλ° μλ κ°νμ λμμ΄ λλ λ€μν νμ΅ μ»¨ν μΈ λ₯Ό νμΈνμΈμ!
swexpertacademy.com
Solution
μμμ μ¬λ¬ κ³³μΌ μ μμ§λ§, λμ νλμΈ κ²½μ° λλΆν° μμνλ©΄ νΈνλ€.
1. μμ μμΉλ₯Ό μλμμ μ°Ύλλ€.
2. μμ μμΉλ₯Ό κΈ°μ€μΌλ‘ 1μ λ°λΌμ κ°λ€.
3. μ°μ μμκ° μλ³΄λ€ μ’, μ°μ μμΌλ―λ‘ μ’, μ°λΆν° νμνλ€.
4. μ§λμ¨ κ³³μ νμν μ μλλ‘, μ§λμ¨ κ³³μ νμνλ€.(μ§μλ λλ€.)
Code
for test_case in range(1, 11):
T = int(input())
# μΈλ±μ±μ νΈνκ² νκΈ°μν 0 ν¨λ©
ladder = [[0] + list(map(int, input().split())) + [0] for _ in range(100)]
# μμμ μ°ΎκΈ°
for i in range(1,102):
if ladder[99][i] == 2:
fin_idx = i
# λ°©ν₯μ μμ μ’, μ°λ§ νμ
di = [0, 0, -1]
dj = [-1, 1, 0]
# μμ μΈλ±μ€
recent_i = 99
recent_j = fin_idx
while recent_i != 0: # columμ΄ 1μ΄ μλλ©΄ λλ¨
for k in range(3):
if ladder[recent_i+di[k]][recent_j+dj[k]] == 1:
ladder[recent_i][recent_j] = 2 # μ§λμ¨ κ³³ μ§μ°κΈ°
recent_j += dj[k]
recent_i += di[k]
break
# λ²μλ₯Ό λ²μ΄λλ©΄ λλ(νΉμλ λͺ¨λ₯Ό μμΈμ²λ¦¬)
if recent_i < 0 or recent_j < 0 or recent_i >= 102 or recent_j >= 102:
break
print(f'#{T} {recent_j-1}')
<λΆμ‘±ν λΆλΆμ λκΈλ‘ λ¨κ²¨μ£Όμλ©΄ μ μκ² λμμ΄ λ©λλ€!>
λ°μν
'π STUDY > μλ£κ΅¬μ‘° & μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| 13994. μλ‘μ΄ λ²μ€ λ Έμ (0) | 2023.03.06 |
|---|---|
| 4613. λ¬μμ κ΅κΈ° κ°μ κΉλ° (0) | 2023.03.06 |
| 1954. λ¬ν½μ΄ μ«μ (0) | 2023.03.06 |
| 1961. μ«μ λ°°μ΄ νμ (0) | 2023.03.05 |
| 4839. [νμ΄μ¬ S/W λ¬Έμ ν΄κ²° κΈ°λ³Έ] 2μΌμ°¨ - μ΄μ§νμ (0) | 2023.03.05 |