728x90
6098 : [๊ธฐ์ด-๋ฆฌ์คํธ] ์ฑ์คํ ๊ฐ๋ฏธ
์๊ฐ ์ ํ: 1 Sec ๋ฉ๋ชจ๋ฆฌ ์ ํ: 128 MB
๋ฌธ์ ์ค๋ช
์์ผ์ด๋ ์๋ช ๊ณผํ์ ๊ด์ฌ์ด ์๊ฒจ ์๊ฐ๋ฏธ๋ฅผ ์ฐ๊ตฌํ๊ณ ์์๋ค.
์๊ฐ๋ฏธ๋ฅผ ์ ์ฌํ ์ดํด๋ณด๋ ์ค ํน๋ณํ ์ฑ์คํด ๋ณด์ด๋ ๊ฐ๋ฏธ๊ฐ ์์๋๋ฐ,
๊ทธ ๊ฐ๋ฏธ๋ ๊ฐ๋ฏธ๊ตด์์ ๋์ ๋จน์ด๊น์ง ๊ฐ์ฅ ๋น ๋ฅธ ๊ธธ๋ก ์ด๋ํ๋ ๊ฒ์ด์๋ค.
๊ฐ๋ฏธ๋ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ด๋ค๊ฐ ๋ฒฝ์ ๋ง๋๋ฉด ์๋์ชฝ์ผ๋ก ์์ง์ฌ ๊ฐ์ฅ ๋น ๋ฅธ ๊ธธ๋ก ์์ง์๋ค.
(์ค๋ฅธ์ชฝ์ ๊ธธ์ด ๋ํ๋๋ฉด ๋ค์ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ธ๋ค.)
์ด์ ํธ๊ธฐ์ฌ์ด ์๊ธด ์์ผ์ด๋ ๊ทธ ๊ฐ๋ฏธ๋ฅผ ๋ฏธ๋ก ์์์ ๋ฃ๊ณ ์ดํด๋ณด๊ธฐ ์์ํ์๋ค.
๋ฏธ๋ก ์์์ ๋ฃ์ ๊ฐ๋ฏธ๋ ๋จน์ด๋ฅผ ์ฐพ์๊ฑฐ๋, ๋ ์ด์ ์์ง์ผ ์ ์์ ๋๊น์ง
์ค๋ฅธ์ชฝ ๋๋ ์๋์ชฝ์ผ๋ก๋ง ์์ง์๋ค.
๋ฏธ๋ก ์์์ ๊ตฌ์กฐ๊ฐ 0(๊ฐ ์ ์๋ ๊ณณ), 1(๋ฒฝ ๋๋ ์ฅ์ ๋ฌผ)๋ก ์ฃผ์ด์ง๊ณ ,
๋จน์ด๊ฐ 2๋ก ์ฃผ์ด์ง ๋, ์ฑ์คํ ๊ฐ๋ฏธ์ ์ด๋ ๊ฒฝ๋ก๋ฅผ ์์ํด๋ณด์.
๋จ, ๋งจ ์๋์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ๋์ฐฉํ ๊ฒฝ์ฐ, ๋ ์ด์ ์์ง์ผ ์ ์๋ ๊ฒฝ์ฐ, ๋จน์ด๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ์๋
๋์ด์ ์ด๋ํ์ง ์๊ณ ๊ทธ ๊ณณ์ ๋จธ๋ฌด๋ฅธ๋ค๊ณ ๊ฐ์ ํ๋ค.
๋ฏธ๋ก ์์์ ํ ๋๋ฆฌ๋ ๋ชจ๋ ๋ฒฝ์ผ๋ก ๋์ด ์์ผ๋ฉฐ,
๊ฐ๋ฏธ์ง์ ๋ฐ๋์ (2, 2)์ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฏธ๋ (2, 2)์์ ์ถ๋ฐํ๋ค.
์ ๋ ฅ
10*10 ํฌ๊ธฐ์ ๋ฏธ๋ก ์์์ ๊ตฌ์กฐ์ ๋จน์ด์ ์์น๊ฐ ์ ๋ ฅ๋๋ค.
์ถ๋ ฅ
์ฑ์คํ ๊ฐ๋ฏธ๊ฐ ์ด๋ํ ๊ฒฝ๋ก๋ฅผ 9๋ก ํ์ํด ์ถ๋ ฅํ๋ค.
์ ๋ ฅ ์์
1 1 1 1 1 1 1 1 1 1
1 0 0 1 0 0 0 0 0 1
1 0 0 1 1 1 0 0 0 1
1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 0 0 1 0 1
1 0 0 0 0 1 0 1 0 1
1 0 0 0 0 1 2 1 0 1
1 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1
์ถ๋ ฅ ์์
1 1 1 1 1 1 1 1 1 1
1 9 9 1 0 0 0 0 0 1
1 0 9 1 1 1 0 0 0 1
1 0 9 9 9 9 9 1 0 1
1 0 0 0 0 0 9 1 0 1
1 0 0 0 0 1 9 1 0 1
1 0 0 0 0 1 9 1 0 1
1 0 0 0 0 1 0 0 0 1
1 0 0 0 0 0 0 0 0 1
1 1 1 1 1 1 1 1 1 1
My ์ฝ๋
# ๋ฏธ๋ก : m
m = [[0] * 10 for i in range(10)]
# 10*10 ํฌ๊ธฐ์ ๋ฏธ๋ก ์ฑ์ฐ๊ธฐ
for i in range(10):
nums = input().split()
for j in range(10):
m[i][j] = int(nums[j])
# ๊ฐ๋ฏธ ์์ง์ด๊ธฐ
# ๊ฐ๋ฏธ์ง ์์น(2, 2)์์ ์ถ๋ฐ
a = 1
b = 1
# 0(๊ฐ ์ ์๋ ๊ณณ), 1(๋ฒฝ ๋๋ ์ฅ์ ๋ฌผ)
# ๋จน์ด๊ฐ 2
while True:
# ๊ฐ ์ ์๋ ๊ณณ์ด๋ผ๋ฉด ๊ฒฝ๋ก ํ์
if m[a][b] == 0:
m[a][b] = 9
# ๋จน์ด๊ฐ ์๋ ๊ณณ์ด๋ผ๋ฉด ๊ฒฝ๋ก ํ์ํ๊ณ ์ด๋ ๋ฉ์ถ๊ธฐ
elif m[a][b] == 2:
m[a][b] = 9
break
# ๋ ์ด์ ์์ง์ผ ์ ์๋ ๊ฒฝ์ฐ ์ด๋ ๋ฉ์ถ๊ธฐ
if (m[a][b + 1] == 1 and m[a + 1][b] == 1) or (a == 9 and b == 9):
break
# ์ค๋ฅธ์ชฝ์ ๊ธธ์ด ๋ํ๋๋ฉด ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ธ๋ค
if m[a][b + 1] != 1:
b += 1
# ์๋์ชฝ์ ๊ธธ์ด ๋ํ๋๋ฉด ์๋์ชฝ์ผ๋ก ์์ง์ธ๋ค
elif m[a + 1][b] != 1:
a += 1
# ์ฑ์คํ ๊ฐ๋ฏธ๊ฐ ์ด๋ํ ๊ฒฝ๋ก๋ฅผ ์ถ๋ ฅ
for i in range(10):
for j in range(10):
print(m[i][j], end=' ')
print()
728x90
'"๊ณต๋ถ" ๐๐๐๐๐๐ > ๐ด๐๐๐๐๐๐กโ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python/๋ฐฑ์ค] 1541 : [๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ] ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2022.01.26 |
---|---|
[Python/๋ฐฑ์ค] 11399 : [๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ] ATM (0) | 2022.01.25 |
[Python/๋ฐฑ์ค] 1931 : [๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ] ํ์์ค ๋ฐฐ์ (1) | 2022.01.25 |
[Python/๋ฐฑ์ค] 11047 : [๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ] ๋์ 0 (0) | 2022.01.20 |
[Python/CodeUp] 6096 : [๊ธฐ์ด-๋ฆฌ์คํธ] ๋ฐ๋์ ์ญ์ ๋ค์ง๊ธฐ (0) | 2021.12.01 |
๋๊ธ