์๊ณ ๋ฆฌ์ฆ ๊ณต๋ถ๋ฅผ ์ํด ์ฝ๋์ ์ฌ์ดํธ(https://codeup.kr/)์ ๊ธฐ์ด 100์ ๋ฅผ ์์ํฉ๋๋ค.
๋ธ๋ก๊ทธ์ ์ฌ๋ผ์จ ๋ชจ๋ ์ฝ๋๋ ํ์ด์ฌ(Python)์ผ๋ก ์์ฑ๋์ด ์์ต๋๋ค.
Python์ ๊ธฐ์ด 100์ ๋ฅผ ํ์ธํ๊ธฐ ์ํด์๋ ๋ค์ ์ฌ์ดํธ๋ก ์ด๋ํ๋ฉด ๋ฉ๋๋ค.
https://codeup.kr/problemsetsol.php?psid=33
6095 : [๊ธฐ์ด-๋ฆฌ์คํธ] ๋ฐ๋ํ์ ํฐ ๋ ๋๊ธฐ(์ค๋ช )(py)
๊ธฐ์์ฌ ์ํ์ ํ๋ ํ๊ต์์ ์ด๋ค ๊ธ์์ผ(์ ์ ๊ท๊ฐ์ผ)์๋ ๋ชจ๋ ์ง์ผ๋ก ๊ท๊ฐ๋ฅผ ํ๋ค.
์ค๋๋ง์ ์ง์ ๊ฐ ์์ผ์ด๋ ์๋ฒ์ง์ ํจ๊ป ๋๋ ๋งค์ฐ ํฐ ์ค๋ชฉ์ ๋ํด์ ์๊ฐํด ๋ณด๋ค๊ฐ
"๋ฐ๋ํ์ ๋์ ์ฌ๋ฆฐ ๊ฒ์ ํ๋ก๊ทธ๋๋ฐ ํ ์ ์์๊น?"ํ๊ณ ์๊ฐํ์๋ค.
๋ฐ๋ํ(19 * 19)์ n๊ฐ์ ํฐ ๋์ ๋๋๋ค๊ณ ํ ๋,
n๊ฐ์ ํฐ ๋์ด ๋์ธ ์์น๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด๋ณด์.
โท ์ฐธ๊ณ
๋ฆฌ์คํธ๊ฐ ๋ค์ด์๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๋ฉด?
๊ฐ๋ก๋ฒํธ, ์ธ๋ก๋ฒํธ๋ฅผ ์ฌ์ฉํด 2์ฐจ์ ํํ์ ๋ฐ์ดํฐ์ฒ๋ผ ์ฝ๊ฒ ๊ธฐ๋กํ๊ณ ์ฌ์ฉํ ์ ์๋ค.
๋ฆฌ์คํธ์ด๋ฆ[๋ฒํธ][๋ฒํธ] ํ์์ผ๋ก ์ ์ฅ๋์ด์๋ ๊ฐ์ ์ฝ๊ณ ์ธ ์ ์๊ณ , ๋ ํ์ฅํ n์ฐจ์์ ๋ฆฌ์คํธ๋ ๋ง๋ค ์ ์๋ค.
d=[]
for i in range(20) :
d.append([])
for j in range(20) :
d[i].append(0)
์์ ๊ฐ์ด, ๋ชจ๋ 0์ด ์ฑ์์ง 2์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋๋ ์ฝ๋๋ฅผ ์๋์ ๊ฐ์ ๋ฐฉ๋ฒ์ผ๋ก ์งง๊ฒ ๋ง๋ค ์๋ ์๋ค.
... [0 for j in range(20)] #20๊ฐ์ 0์ด ๋ค์ด๊ฐ [0, 0, 0, ... , 0, 0, 0] ๋ฆฌ์คํธ
์๋์ฒ๋ผ ์์ฑํ๋ฉด ์์ ๊ฐ์ ๋ฆฌ์คํธ๊ฐ 20๊ฐ๊ฐ ๋ค์ด๊ฐ ๋ฆฌ์คํธ๋ฅผ ํ ๋ฒ์ ๋ง๋ค์ด ์ค๋ค.
d = [[0 for j in range(20)] for i in range(20)]
์ด๋ฌํ ๋ฆฌ์คํธ ์์ฑ ๋ฐฉ์์ List Comprehensions ๋ผ๊ณ ํ๋ค.
โท ํด์ค
์ด๋ฒ ๋ฌธ์ ์์ ๋ค๋ฃจ๋ ๋ฐ๋ํ์ ํํํ๊ธฐ ์ํด์๋ 2์ฐจ์ ๋ฐฐ์ด์ด ํ์ํ๋ค.
2์ฐจ์ ๋ฐฐ์ด์ ํํํ๊ธฐ ์ํด์๋๊ฐ์ for๋ฌธ์ด ์ฌ์ฉ๋์๋๋ฐ board๋ฅผ ์ ์ธํ ๋์ฒ๋ผ ํ์ค๋ก ์ฐ๋ ๊ฒ๋ ๊ฐ๋ฅํ๊ณ ์ถ๋ ฅํ ๋ ์ฒ๋ผ for๋ฌธ์ ๋์ดํด์ ์ฐ๋ ๋ฐฉ์๋ ์๋ค.
n = int(input())
board = [[0 for col in range(19)]for row in range(19)]
for _ in range(n):
x, y = map(int, input().split())
board[x-1][y-1] = 1
for col in range(19):
for row in range(19):
print(board[col][row], end=" ")
print()
6096 : [๊ธฐ์ด-๋ฆฌ์คํธ] ๋ฐ๋์ ์ญ์ ๋ค์ง๊ธฐ(py)
๋ถ๋ชจ๋์ ๊ธฐ๋ค๋ฆฌ๋ ์์ผ์ด๋ ๊ฒ์ /ํฐ ์ ๋ฐ๋์์ ๋ฐ๋ํ์ ๊ฝ ์ฑ์ ๊น์ ๋๊ณ ๋๋ค๊ฐ...
"์ญ(+)์ ๋ค์ง๊ธฐ๋ฅผ ํด๋ณผ๊น?"ํ๊ณ ์๊ฐํ๋ค.
์ญ์ ๋ค์ง๊ธฐ๋
๊ทธ ์์น์ ์๋ ๋ชจ๋ ๊ฐ๋ก์ค ๋์ ์์ ๋ฐ๋(1->0, 0->1)๋ก ๋ฐ๊พผ ํ,
๋ค์ ๊ทธ ์์น์ ์๋ ๋ชจ๋ ์ธ๋ก์ค ๋์ ์์ ๋ฐ๋๋ก ๋ฐ๊พธ๋ ๊ฒ์ด๋ค.
์ด๋ค ์์น๋ฅผ ๊ณจ๋ผ ์ง์ ๋ค์ง๊ธฐ๋ฅผ ํ๋ฉด, ๊ทธ ์์น๋ฅผ ์ ์ธํ ๊ฐ๋ก์ค๊ณผ ์ธ๋ก์ค์ ์์ด ๋ชจ๋ ๋ฐ๋๋ก ๋ฐ๋๋ค.
๋ฐ๋ํ(19 * 19)์ ํฐ ๋(1) ๋๋ ๊ฒ์ ๋(0)์ด ๋ชจ๋ ๊ฝ ์ฑ์์ ธ ๋์ฌ์์ ๋,
n๊ฐ์ ์ขํ๋ฅผ ์
๋ ฅ๋ฐ์ ์ญ(+)์ ๋ค์ง๊ธฐํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํด๋ณด์.
โท ์ฐธ๊ณ
๋ฆฌ์คํธ๊ฐ ๋ค์ด์๋ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค๋ฉด?
๊ฐ๋ก๋ฒํธ, ์ธ๋ก๋ฒํธ๋ฅผ ์ฌ์ฉํด 2์ฐจ์ ํํ์ ๋ฐ์ดํฐ์ฒ๋ผ ์ฝ๊ฒ ๊ธฐ๋กํ๊ณ ์ฌ์ฉํ ์ ์๋ค.
๋ฆฌ์คํธ์ด๋ฆ[๋ฒํธ][๋ฒํธ] ํ์์ผ๋ก ์ ์ฅ๋์ด์๋ ๊ฐ์ ์ฝ๊ณ ์ธ ์ ์๋ค.
โท ํด์ค
์ด๋ฒ์๋ board์ ๋ชจ๋ ํ์ ์ง์ ์ ๋ ฅ๋ฐ๊ธฐ ์ํด์ for๋ฌธ์ ์ด์ฉํด ๊ฐ ์ค๋ง๋ค list๋ฅผ ๋ฐ์๋ค board์ appendํด์ค๋ค.
์ญ์ ๋ค์ง๊ธฐ๋ฅผ ํ๊ธฐ์ํด์๋ ๊ฐ๋ก ๋จผ์ 0์ด๋ฉด 1๋ก 1์ด๋ฉด 0์ผ๋ก ๋ณ๊ฒฝํ ๋ค ์ธ๋ก์ ๊ฐ๋ ๊ฐ์ ๋์์ ์งํํ๋ฉด ๋๋ค.
board = []
for col in range(19):
row = list(map(int, input().split()))
board.append(row)
n = int(input())
for _ in range(n):
x, y = map(int, input().split())
for i in range(19):
if board[x-1][i] == 1:
board[x-1][i] = 0
else:
board[x-1][i] = 1
for j in range(19):
if board[j][y-1] == 1:
board[j][y-1] = 0
else:
board[j][y-1] = 1
for col in range(19):
for row in range(19):
print(board[col][row], end=" ")
print()
6097 : [๊ธฐ์ด-๋ฆฌ์คํธ] ์คํ๊ณผ์ ๋ฝ๊ธฐ(py)
๋ถ๋ชจ๋๊ณผ ํจ๊ป ๋๋ฌ๊ฐ ์์ผ์ด๋
์คํ๊ณผ์(์คํ์ ๋
น์ฌ ๋ฌผ๊ณ ๊ธฐ ๋ฑ์ ๋ชจ์์ ๋ง๋ ๊ฒ) ๋ฝ๊ธฐ๋ฅผ ๋ณด๊ฒ ๋์๋ค.
๊ธธ์ด๊ฐ ๋ค๋ฅธ ๋ช ๊ฐ์ ๋ง๋๋ฅผ ๋ฐ๋ํ๊ณผ ๊ฐ์ ๊ฒฉ์ํ์ ๋๋๋ฐ,
๋ง๋์ ์๋ ์คํ๊ณผ์ ์ด๋ฆ ์๋์ ์๋ ๋ฒํธ๋ฅผ ๋ฝ์ผ๋ฉด ์คํ๊ณผ์๋ฅผ ๊ฐ์ ธ๊ฐ๋ ๊ฒ์์ด์๋ค.
(์์ด, ๋ถ์ด, ์ฉ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์ ํ์๋ค.)
๊ฒฉ์ํ์ ์ธ๋ก(h), ๊ฐ๋ก(w), ๋ง๋์ ๊ฐ์(n), ๊ฐ ๋ง๋์ ๊ธธ์ด(l),
๋ง๋๋ฅผ ๋๋ ๋ฐฉํฅ(d:๊ฐ๋ก๋ 0, ์ธ๋ก๋ 1)๊ณผ
๋ง๋๋ฅผ ๋๋ ๋ง๋์ ๊ฐ์ฅ ์ผ์ชฝ ๋๋ ์์ชฝ์ ์์น(x, y)๊ฐ ์ฃผ์ด์ง ๋,
๊ฒฉ์ํ์ ์ฑ์ด ๋ง๋์ ๋ชจ์์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด๋ณด์.
โท ํด์ค
์ด๋ฒ ๋ฌธ์ ์์๋ ์ ๊ฒฝ์จ์ผ ํ ๊ฐ์ด ๋ง์์ง๋ค. h์ w๋ก ๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ ์ง์ ๋์์ผ๋ฉฐ l์ ๊ธธ์ด๋งํผ 2์ฐจ์ ๋ฐฐ์ด์ ์ฒดํฌํด์ค์ผํ๋ค๋ ์กฐ๊ฑด์ด ์๊ฒผ๋ค.
์ด๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์๋ ๊ฐ์ฅ ์ฒ์ l์ด ๋์ธ ์์น๊ฐ ๊ฐ๋ก์ธ์ง ์ธ๋ก์ธ์ง ๊ตฌ๋ถํ๋ค.
์ดํ for๋ฌธ์ ์์์ ์ ๊ฐ๋ก์ผ ๊ฒฝ์ฐ ์ง์ ๋ y์ง์ ์์ ๋ถํฐ l์ ํฌ๊ธฐ๋งํผ ์ฑ์ํ๊ณ , ์ธ๋ก์ผ ๊ฒฝ์ฐ ์ง์ ๋ x์ง์ ์์ ๋ถํฐ l์ ํฌ๊ธฐ๋งํผ ์ฑ์ํ๋ฉด ๋๋ค.
h, w = map(int, input().split())
board = [[0 for row in range(w)] for col in range(h)]
n = int(input())
for _ in range(n):
l, d, x, y = map(int, input().split())
# ๊ฐ๋ก i์ ๊ฐ๋ง ๋ณ๊ฒฝ
if d == 0:
for i in range(y-1, w):
if l != 0:
board[x - 1][i] = 1
l -= 1
# ์ธ๋ก j์ ๊ฐ๋ง ๋ณ๊ฒฝ
elif d == 1:
for j in range(x-1, h):
if l != 0:
board[j][y - 1] = 1
l -= 1
for col in range(h):
for row in range(w):
print(board[col][row], end=" ")
print()
6098 : [๊ธฐ์ด-๋ฆฌ์คํธ] ์ฑ์คํ ๊ฐ๋ฏธ(py)
์์ผ์ด๋ ์๋ช
๊ณผํ์ ๊ด์ฌ์ด ์๊ฒจ ์๊ฐ๋ฏธ๋ฅผ ์ฐ๊ตฌํ๊ณ ์์๋ค.
์๊ฐ๋ฏธ๋ฅผ ์ ์ฌํ ์ดํด๋ณด๋ ์ค ํน๋ณํ ์ฑ์คํด ๋ณด์ด๋ ๊ฐ๋ฏธ๊ฐ ์์๋๋ฐ,
๊ทธ ๊ฐ๋ฏธ๋ ๊ฐ๋ฏธ๊ตด์์ ๋์ ๋จน์ด๊น์ง ๊ฐ์ฅ ๋น ๋ฅธ ๊ธธ๋ก ์ด๋ํ๋ ๊ฒ์ด์๋ค.
๊ฐ๋ฏธ๋ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ด๋ค๊ฐ ๋ฒฝ์ ๋ง๋๋ฉด ์๋์ชฝ์ผ๋ก ์์ง์ฌ ๊ฐ์ฅ ๋น ๋ฅธ ๊ธธ๋ก ์์ง์๋ค.
(์ค๋ฅธ์ชฝ์ ๊ธธ์ด ๋ํ๋๋ฉด ๋ค์ ์ค๋ฅธ์ชฝ์ผ๋ก ์์ง์ธ๋ค.)
์ด์ ํธ๊ธฐ์ฌ์ด ์๊ธด ์์ผ์ด๋ ๊ทธ ๊ฐ๋ฏธ๋ฅผ ๋ฏธ๋ก ์์์ ๋ฃ๊ณ ์ดํด๋ณด๊ธฐ ์์ํ์๋ค.
๋ฏธ๋ก ์์์ ๋ฃ์ ๊ฐ๋ฏธ๋ ๋จน์ด๋ฅผ ์ฐพ์๊ฑฐ๋, ๋ ์ด์ ์์ง์ผ ์ ์์ ๋๊น์ง
์ค๋ฅธ์ชฝ ๋๋ ์๋์ชฝ์ผ๋ก๋ง ์์ง์๋ค.
๋ฏธ๋ก ์์์ ๊ตฌ์กฐ๊ฐ 0(๊ฐ ์ ์๋ ๊ณณ), 1(๋ฒฝ ๋๋ ์ฅ์ ๋ฌผ)๋ก ์ฃผ์ด์ง๊ณ ,
๋จน์ด๊ฐ 2๋ก ์ฃผ์ด์ง ๋, ์ฑ์คํ ๊ฐ๋ฏธ์ ์ด๋ ๊ฒฝ๋ก๋ฅผ ์์ํด๋ณด์.
๋จ, ๋งจ ์๋์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ๋์ฐฉํ ๊ฒฝ์ฐ, ๋ ์ด์ ์์ง์ผ ์ ์๋ ๊ฒฝ์ฐ, ๋จน์ด๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ์๋
๋์ด์ ์ด๋ํ์ง ์๊ณ ๊ทธ ๊ณณ์ ๋จธ๋ฌด๋ฅธ๋ค๊ณ ๊ฐ์ ํ๋ค.
๋ฏธ๋ก ์์์ ํ
๋๋ฆฌ๋ ๋ชจ๋ ๋ฒฝ์ผ๋ก ๋์ด ์์ผ๋ฉฐ,
๊ฐ๋ฏธ์ง์ ๋ฐ๋์ (2, 2)์ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฏธ๋ (2, 2)์์ ์ถ๋ฐํ๋ค.
โท ํด์ค
๊ฐ๋ฏธ๋ ๋ฌด์กฐ๊ฑด ์ค๋ฅธ์ชฝ(y+1)์ด๋ ์๋(x+1)๋ก๋ง ์์ง์ธ๋ค.
๋ํ ๋ฏธ๋ก๋ ๋ฒฝ์ผ๋ก ๊ฐ์ธ ์๊ธฐ ๋๋ฌธ์ ์ค๋ฅธ์ชฝ๊ณผ ์๋๊ฐ ๋ชจ๋ 1์ด๋ฉด ๋์ด์ ๊ฐ๊ณณ์ด ์๋ ๊ฑธ ์๋ฏธํ๋ค.
์ฆ ์ฐ๋ฆฌ๊ฐ ๋ฐ๋ณต๋ฌธ์ ํ์ถํ๊ธฐ ์ํ ๋ ์กฐ๊ฑด์ y+1๊ณผ x+1์ด ๋ชจ๋ 1์ด๊ฑฐ๋ ๋จน์ด๋ฅผ ๋จน์ ๊ฒฝ์ฐ์ด๋ค.
์ง๊ธ๊น์ง ๋ง๋ก ์ ์ํ๋ ๋ด์ฉ์ ์ฝ๋๋ก ํํํด ๋ณด์.
board = []
for col in range(10):
row = list(map(int, input().split()))
board.append(row)
x, y = 1, 1
while True:
if board[x][y] == 2:
board[x][y] = 9
break
else:
board[x][y] = 9
if board[x][y+1] == 1 and board[x+1][y] == 1:
break
if board[x][y+1] != 1:
y += 1
elif board[x+1][y] != 1:
x += 1
for col in range(10):
for row in range(10):
print(board[col][row], end=" ")
print()
'๊ณต๋ถ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฝ๋์ ํ์ด์ฌ(Python) ๊ธฐ์ด 100์ - 6091๋ฒ ~ 6094๋ฒ (0) | 2021.06.29 |
---|---|
์ฝ๋์ ํ์ด์ฌ(Python) ๊ธฐ์ด 100์ - 6086๋ฒ ~ 6090๋ฒ (0) | 2021.06.29 |
์ฝ๋์ ํ์ด์ฌ(Python) ๊ธฐ์ด 100์ - 6081๋ฒ ~ 6085๋ฒ (0) | 2021.06.29 |
์ฝ๋์ ํ์ด์ฌ(Python) ๊ธฐ์ด 100์ - 6076๋ฒ ~ 6080๋ฒ (0) | 2021.06.19 |
์ฝ๋์ ํ์ด์ฌ(Python) ๊ธฐ์ด 100์ - 6071๋ฒ ~ 6075๋ฒ (0) | 2021.06.19 |