- ์ด๊ฑฐ ๋ฌธ์ ์ ๋ชฉ์ ์ 1์ฐจ๊ฐ ์๋ ํ๋๋...
- 2018๋ ์นด์นด์ค ๋ธ๋ผ์ธํธ ์ฑ์ฉ ํ ์คํธ 1์ฐจ ๋ฌธ์ ๋ผ์ [1์ฐจ]๋ผ๊ณ ์จ์๋๊ฑฐ๊ตฌ๋.
- 2018๋ ์๋ง 3๋ฒ์ ํ๋ค... ๊ทธ๋์ [3์ฐจ]๊น์ง ์๋ค.
- ๊ทผ๋ฐ 2019๋
๋ถํฐ๋ ์ ํ์๊ฐ ์์.
- ์ํผ...
๋ฌธ์ ์ค๋ช
๋ธ๋ผ์ธ๋ ๊ณต์ฑ๋ฅผ ํต๊ณผํ ์ ์
์ฌ์ ๋ผ์ด์ธ์ ์ ๊ท ๊ฒ์ ๊ฐ๋ฐ ์
๋ฌด๋ฅผ ๋งก๊ฒ ๋์๋ค. ์ด๋ฒ์ ์ถ์ํ ๊ฒ์ ์ ๋ชฉ์ "ํ๋ ์ฆ4๋ธ๋ก".
๊ฐ์ ๋ชจ์์ ์นด์นด์คํ๋ ์ฆ ๋ธ๋ก์ด 2×2 ํํ๋ก 4๊ฐ๊ฐ ๋ถ์ด์์ ๊ฒฝ์ฐ ์ฌ๋ผ์ง๋ฉด์ ์ ์๋ฅผ ์ป๋ ๊ฒ์์ด๋ค.
๋ง์ฝ ํ์ด ์์ ๊ฐ์ด ์ฃผ์ด์ง ๊ฒฝ์ฐ, ๋ผ์ด์ธ์ด 2×2๋ก ๋ฐฐ์น๋ 7๊ฐ ๋ธ๋ก๊ณผ ์ฝ์ด 2×2๋ก ๋ฐฐ์น๋ 4๊ฐ ๋ธ๋ก์ด ์ง์์ง๋ค. ๊ฐ์ ๋ธ๋ก์ ์ฌ๋ฌ 2×2์ ํฌํจ๋ ์ ์์ผ๋ฉฐ, ์ง์์ง๋ ์กฐ๊ฑด์ ๋ง์กฑํ๋ 2×2 ๋ชจ์์ด ์ฌ๋ฌ ๊ฐ ์๋ค๋ฉด ํ๊บผ๋ฒ์ ์ง์์ง๋ค.
๋ธ๋ก์ด ์ง์์ง ํ์ ์์ ์๋ ๋ธ๋ก์ด ์๋๋ก ๋จ์ด์ ธ ๋น ๊ณต๊ฐ์ ์ฑ์ฐ๊ฒ ๋๋ค.
๋ง์ฝ ๋น ๊ณต๊ฐ์ ์ฑ์ด ํ์ ๋ค์ 2×2 ํํ๋ก ๊ฐ์ ๋ชจ์์ ๋ธ๋ก์ด ๋ชจ์ด๋ฉด ๋ค์ ์ง์์ง๊ณ ๋จ์ด์ง๊ณ ๋ฅผ ๋ฐ๋ณตํ๊ฒ ๋๋ค.
์ ์ด๊ธฐ ๋ฐฐ์น๋ฅผ ๋ฌธ์๋ก ํ์ํ๋ฉด ์๋์ ๊ฐ๋ค.
TTTANT
RRFACC
RRRFCC
TRRRAA
TTMMMF
TMMTTJ
๊ฐ ๋ฌธ์๋ ๋ผ์ด์ธ(R), ๋ฌด์ง(M), ์ดํผ์น(A), ํ๋ก๋(F), ๋ค์ค(N), ํ๋ธ(T), ์ ์ด์ง(J), ์ฝ(C)์ ์๋ฏธํ๋ค
์ ๋ ฅ์ผ๋ก ๋ธ๋ก์ ์ฒซ ๋ฐฐ์น๊ฐ ์ฃผ์ด์ก์ ๋, ์ง์์ง๋ ๋ธ๋ก์ ๋ชจ๋ ๋ช ๊ฐ์ธ์ง ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ์ ์ํ๋ผ.
์ ํ ์ฌํญ
์ ๋ ฅํ์
- ์ ๋ ฅ์ผ๋ก ํ์ ๋์ด m, ํญ n๊ณผ ํ์ ๋ฐฐ์น ์ ๋ณด board๊ฐ ๋ค์ด์จ๋ค.
- 2 โฆ n, m โฆ 30
- board๋ ๊ธธ์ด n์ธ ๋ฌธ์์ด m๊ฐ์ ๋ฐฐ์ด๋ก ์ฃผ์ด์ง๋ค. ๋ธ๋ก์ ๋ํ๋ด๋ ๋ฌธ์๋ ๋๋ฌธ์ A์์ Z๊ฐ ์ฌ์ฉ๋๋ค.
์ถ๋ ฅํ์
- ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ๋ช ๊ฐ์ ๋ธ๋ก์ด ์ง์์ง์ง ์ถ๋ ฅํ๋ผ.
์ ์ถ๋ ฅ ์
m | n | board | answer |
4 | 5 | ["CCBDE", "AAADE", "AAABF", "CCBBF"] | 14 |
6 | 6 | ["TTTANT", "RRFACC", "RRRFCC", "TRRRAA", "TTMMMF", "TMMTTJ"] | 15 |
์ ์ถ๋ ฅ ์ ์ค๋ช
- ์ ์ถ๋ ฅ ์์ 1์ ๊ฒฝ์ฐ, ์ฒซ ๋ฒ์งธ์๋ A ๋ธ๋ก 6๊ฐ๊ฐ ์ง์์ง๊ณ , ๋ ๋ฒ์งธ์๋ B ๋ธ๋ก 4๊ฐ์ C ๋ธ๋ก 4๊ฐ๊ฐ ์ง์์ ธ, ๋ชจ๋ 14๊ฐ์ ๋ธ๋ก์ด ์ง์์ง๋ค.
- ์ ์ถ๋ ฅ ์์ 2๋ ๋ณธ๋ฌธ ์ค๋ช ์ ์๋ ๊ทธ๋ฆผ์ ์ฎ๊ธด ๊ฒ์ด๋ค. 11๊ฐ์ 4๊ฐ์ ๋ธ๋ก์ด ์ฐจ๋ก๋ก ์ง์์ง๋ฉฐ, ๋ชจ๋ 15๊ฐ์ ๋ธ๋ก์ด ์ง์์ง๋ค.
ํ์ด
- ์ด๊ฑด ๋ญ ํ์ด๊ฐ ํ์๊ฐ ์๋ค.
- ๊ทธ๋ฅ ์ด๋ฆด ๋ ๊ฒ์ ๋ง๋ค์๋ ์์ผ๋ก ๋ฌด์ง์ฑ์ผ๋ก ๋ง๋ค์ด๋ฒ๋ฆฌ๋ฉด ๋จ.
- ๊ตฌํ ๋ฌธ์ ์์...? ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ ์๋ ๋ฏ...
def solution(m, n, board):
# ์๋๋ก ๋ด๋ ค๊ฐ๋ ๋ฐฉ์์ด๋๊น ํ๋ฅผ ์์ง์ผ๋ก ์ธ์์ ๋ง๋๋๊ฒ ์ข์ ๋ฏ
๊ฒ์๋ณด๋ = [[0]*m for _ in range(n)]
๋นํธ๋ณด๋ = [[0]*m for _ in range(n)]
# ๊ฒ์๋ณด๋ ๋ฐ์ดํฐ ์ฑ์ฐ๊ธฐ
for h in range(n):
for w in range(m):
๊ฒ์๋ณด๋[h][w] = board[w][h]
def ๋นํธ๋ณด๋์ด๊ธฐํ():
for h in range(n):
for w in range(m):
๋นํธ๋ณด๋[h][w] = 0
๋นํธ๋ณด๋์ด๊ธฐํ()
def ๊ฒ์๋ณด๋๊ทธ๋ฆฌ๊ธฐ():
for h in range(n):
for w in range(m):
print(๊ฒ์๋ณด๋[h][w],end=" ")
print(" ")
for h in range(n):
for w in range(m):
print(๋นํธ๋ณด๋[h][w],end=" ")
print(" ")
๊ฒ์๋ณด๋๊ทธ๋ฆฌ๊ธฐ()
์ง์์งํ๋ ์ฆ, ์ง์์งํ๋ ์ฆ = 1, 0
limit = 5
while ์ง์์งํ๋ ์ฆ > 0 and limit > 0:
limit -= 1
์ง์์งํ๋ ์ฆ = 0 # ์ง์์ง ํ๋ ์ฆ ์ฒดํฌ
for h in range(n-1):
for w in range(m-1):
ํ๋ ์ฆ = ๊ฒ์๋ณด๋[h][w]
if ํ๋ ์ฆ != ' ' and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h+1][w] and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h+1][w+1] and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h][w+1]:
๋นํธ๋ณด๋[h][w], ๋นํธ๋ณด๋[h+1][w], ๋นํธ๋ณด๋[h+1][w+1], ๋นํธ๋ณด๋[h][w+1] = 1, 1, 1, 1
์ง์์งํ๋ ์ฆ = 1
if ์ง์์งํ๋ ์ฆ == 0:
break
for h in range(n): # ์ง์์ง ํ๋ ์ฆ ์นด์ดํธ
์ง์์งํ๋ ์ฆ += ๋นํธ๋ณด๋[h].count(1)
for h in range(n): # ๊ฒ์๋ณด๋/๋นํธ๋ณด๋ ๋ํ
a = ๋นํธ๋ณด๋[h].count(1)
for i in range(a):
๊ฒ์๋ณด๋[h].pop(๋นํธ๋ณด๋[h].index(1))
๋นํธ๋ณด๋[h].pop(๋นํธ๋ณด๋[h].index(1))
๊ฒ์๋ณด๋[h].insert(0, ' ')
๋นํธ๋ณด๋[h].insert(0, 0)
๋นํธ๋ณด๋์ด๊ธฐํ()
๊ฒ์๋ณด๋๊ทธ๋ฆฌ๊ธฐ()
return ์ง์์งํ๋ ์ฆ
- ์ ๋๋ ํ์ธํ๊ณ
ํ
์คํธ 1
์
๋ ฅ๊ฐ ใ 4, 5, ["CCBDE", "AAADE", "AAABF", "CCBBF"]
๊ธฐ๋๊ฐ ใ 14
์คํ ๊ฒฐ๊ณผ ใ ํ
์คํธ๋ฅผ ํต๊ณผํ์์ต๋๋ค.
์ถ๋ ฅ ใ C A A C
C A A C
B A A B
D D B B
E E F F
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
D D
E E F F
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
ํ
์คํธ 2
์
๋ ฅ๊ฐ ใ 6, 6, ["TTTANT", "RRFACC", "RRRFCC", "TRRRAA", "TTMMMF", "TMMTTJ"]
๊ธฐ๋๊ฐ ใ 15
์คํ ๊ฒฐ๊ณผ ใ ํ
์คํธ๋ฅผ ํต๊ณผํ์์ต๋๋ค.
์ถ๋ ฅ ใ T R R T T T
T R R R T M
T F R R M M
A A F R M T
N C C A M T
T C C A F J
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
T T
M
T F M M
A A F R M T
N A M T
T A F J
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
- ์ฝ๋ ์์ ํด์ ์ฑ์ !
def solution(m, n, board):
๊ฒ์๋ณด๋ = [[0]*m for _ in range(n)] # ์๋๋ก ๋ด๋ ค๊ฐ๋ ๋ฐฉ์์ด๋๊น ํ๋ฅผ ์์ง์ผ๋ก ์ธ์์ ๋ง๋๋๊ฒ ์ข์ ๋ฏ
๋นํธ๋ณด๋ = [[0]*m for _ in range(n)]
for h in range(n):
for w in range(m):
๊ฒ์๋ณด๋[h][w] = board[w][h] # ๊ฒ์๋ณด๋ ๋ฐ์ดํฐ ์ฑ์ฐ๊ธฐ
์ง์์งํ๋ ์ฆ, ์ง์์งํ๋ ์ฆ = 1, 0
while True:
์ง์์งํ๋ ์ฆ = 0 # ์ง์์ง ํ๋ ์ฆ ์ฒดํฌ
for h in range(n-1):
for w in range(m-1):
ํ๋ ์ฆ = ๊ฒ์๋ณด๋[h][w]
if ํ๋ ์ฆ != ' ' and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h+1][w] and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h+1][w+1] and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h][w+1]:
๋นํธ๋ณด๋[h][w], ๋นํธ๋ณด๋[h+1][w], ๋นํธ๋ณด๋[h+1][w+1], ๋นํธ๋ณด๋[h][w+1] = 1, 1, 1, 1
์ง์์งํ๋ ์ฆ = 1
if ์ง์์งํ๋ ์ฆ == 0:
break
for h in range(n): # ์ง์์ง ํ๋ ์ฆ ์นด์ดํธ
์ง์์งํ๋ ์ฆ += ๋นํธ๋ณด๋[h].count(1)
for h in range(n): # ๊ฒ์๋ณด๋/๋นํธ๋ณด๋ ๋ํ
a = ๋นํธ๋ณด๋[h].count(1)
for i in range(a):
๊ฒ์๋ณด๋[h].pop(๋นํธ๋ณด๋[h].index(1))
๋นํธ๋ณด๋[h].pop(๋นํธ๋ณด๋[h].index(1))
๊ฒ์๋ณด๋[h].insert(0, ' ')
๋นํธ๋ณด๋[h].insert(0, 0)
return ์ง์์งํ๋ ์ฆ
- ํต๊ณผ ํ๋๋ฐ ์ ์๊ฐ 1์ ...
- ์ ์๊ฐ ์ง๋ค ใ ใ ใ
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.03ms, 10.4MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.04ms, 10.4MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.01ms, 10.4MB)
ํ
์คํธ 4 ใ ํต๊ณผ (1.21ms, 10.4MB)
ํ
์คํธ 5 ใ ํต๊ณผ (23.87ms, 10.4MB)
ํ
์คํธ 6 ใ ํต๊ณผ (3.06ms, 10.6MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.64ms, 10.4MB)
ํ
์คํธ 8 ใ ํต๊ณผ (1.19ms, 10.4MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.03ms, 10.6MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.44ms, 10.5MB)
ํ
์คํธ 11 ใ ํต๊ณผ (2.00ms, 10.6MB)
- ๊ณ ์์ ํ์ด... ํ ... ์๋๊ฐ ๋ณ๋ก ์๋น ๋ฅธ๋ฐ? ๊ทธ ์ค ์ข ๋น ๋ฅธ ๊ฑฐ ์ฐพ์๋ด
def solution(m, n, board):
board = [list(b) for b in board]
board = [list(reversed([b[i] for b in board])) for i in range(n)]
remove_target = get_remove_target(board)
while not "".join([str.strip("".join(t)) for t in remove_target]) == "":
for i in range(len(board)):
for j in range(len(board[i]) - 1, -1, -1):
if "*" == remove_target[i][j]:
del board[i][j]
remove_target = get_remove_target(board)
cnt = 0
for b in board:
cnt += len(b)
return m * n - cnt
def get_remove_target(board):
remove_target = [list(" " * len(board[i])) for i in range(len(board))]
for i in range(len(board) - 1):
for j in range(len(board[i]) - 1):
try:
if board[i][j] == board[i + 1][j] and board[i + 1][j] == board[i + 1][j + 1] and board[i + 1][j + 1] == \
board[i][j + 1]:
remove_target[i][j] = "*"
remove_target[i + 1][j] = "*"
remove_target[i][j + 1] = "*"
remove_target[i + 1][j + 1] = "*"
except IndexError:
continue
return remove_target
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.04ms, 10.2MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.06ms, 10.3MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.02ms, 10.2MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.91ms, 10MB)
ํ
์คํธ 5 ใ ํต๊ณผ (23.10ms, 10.3MB)
ํ
์คํธ 6 ใ ํต๊ณผ (2.60ms, 10.3MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.36ms, 10.3MB)
ํ
์คํธ 8 ใ ํต๊ณผ (0.72ms, 10.4MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.04ms, 10.3MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.38ms, 10.2MB)
ํ
์คํธ 11 ใ ํต๊ณผ (0.93ms, 10.2MB)
- ์ด์ชฝ์ด ์ฝ๋๊ฐ ๋ ์งง์...
def solution(m, n, board):
board.reverse()
field = [list(cols) for cols in zip(*board)]
answer = 0
while True:
bomb = set()
for row in range(n - 1):
for col in range(m - 1):
try:
if field[row][col] == field[row + 1][col] == field[row][col + 1] == field[row + 1][col + 1]:
bomb.update({(row, col), (row + 1, col), (row, col + 1), (row + 1, col + 1)})
except:
break
if not len(bomb):
break
for r, c in bomb:
field[r][c] = ''
answer += 1
for row in range(n):
field[row] = list(''.join(field[row]))
return answer
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.03ms, 10.2MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.04ms, 10.1MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.01ms, 10.1MB)
ํ
์คํธ 4 ใ ํต๊ณผ (0.82ms, 10.3MB)
ํ
์คํธ 5 ใ ํต๊ณผ (17.61ms, 10.2MB)
ํ
์คํธ 6 ใ ํต๊ณผ (1.80ms, 10.4MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.38ms, 10.3MB)
ํ
์คํธ 8 ใ ํต๊ณผ (1.35ms, 10.2MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.04ms, 10.2MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.48ms, 10.2MB)
ํ
์คํธ 11 ใ ํต๊ณผ (1.03ms, 10.3MB)
- ์ด๊ฑฐ ๋์ค๋ก ํฉ์ณค์ผ๋ฉด ๋ ๋นจ๋ผ์ก์ ๋ฏ?
- ์ต์ข . ๋ณ ์ฐจ์ด ์๋ค...
def solution(m, n, board):
๊ฒ์๋ณด๋ = [[0]*m for _ in range(n)] # ์๋๋ก ๋ด๋ ค๊ฐ๋ ๋ฐฉ์์ด๋๊น ํ๋ฅผ ์์ง์ผ๋ก ์ธ์์ ๋ง๋๋๊ฒ ์ข์ ๋ฏ
๋นํธ๋ณด๋ = [[0]*m for _ in range(n)]
for h in range(n):
for w in range(m):
๊ฒ์๋ณด๋[h][w] = board[w][h] # ๊ฒ์๋ณด๋ ๋ฐ์ดํฐ ์ฑ์ฐ๊ธฐ
์ง์์งํ๋ ์ฆ, ์ง์์งํ๋ ์ฆ = 1, 0
while True:
์ง์์งํ๋ ์ฆ = 0 # ์ง์์ง ํ๋ ์ฆ ์ฒดํฌ
for h in range(n-1):
for w in range(m-1):
ํ๋ ์ฆ = ๊ฒ์๋ณด๋[h][w]
if ํ๋ ์ฆ != ' ' and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h+1][w] and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h+1][w+1] and ํ๋ ์ฆ == ๊ฒ์๋ณด๋[h][w+1]:
๋นํธ๋ณด๋[h][w], ๋นํธ๋ณด๋[h+1][w], ๋นํธ๋ณด๋[h+1][w+1], ๋นํธ๋ณด๋[h][w+1] = 1, 1, 1, 1
์ง์์งํ๋ ์ฆ = 1
if ์ง์์งํ๋ ์ฆ == 0:
break
for h in range(n): # ์ง์์ง ํ๋ ์ฆ ์นด์ดํธ + ๊ฒ์๋ณด๋/๋นํธ๋ณด๋ ๋ํ
a = ๋นํธ๋ณด๋[h].count(1)
์ง์์งํ๋ ์ฆ += a
for i in range(a):
๊ฒ์๋ณด๋[h].pop(๋นํธ๋ณด๋[h].index(1))
๋นํธ๋ณด๋[h].pop(๋นํธ๋ณด๋[h].index(1))
๊ฒ์๋ณด๋[h].insert(0, ' ')
๋นํธ๋ณด๋[h].insert(0, 0)
return ์ง์์งํ๋ ์ฆ
์ ํ์ฑ ํ
์คํธ
ํ
์คํธ 1 ใ ํต๊ณผ (0.03ms, 10.4MB)
ํ
์คํธ 2 ใ ํต๊ณผ (0.04ms, 10.5MB)
ํ
์คํธ 3 ใ ํต๊ณผ (0.01ms, 10.6MB)
ํ
์คํธ 4 ใ ํต๊ณผ (1.20ms, 10.5MB)
ํ
์คํธ 5 ใ ํต๊ณผ (21.22ms, 10.5MB)
ํ
์คํธ 6 ใ ํต๊ณผ (3.26ms, 10.4MB)
ํ
์คํธ 7 ใ ํต๊ณผ (0.65ms, 10.4MB)
ํ
์คํธ 8 ใ ํต๊ณผ (1.16ms, 10.4MB)
ํ
์คํธ 9 ใ ํต๊ณผ (0.03ms, 10.5MB)
ํ
์คํธ 10 ใ ํต๊ณผ (0.47ms, 10.6MB)
ํ
์คํธ 11 ใ ํต๊ณผ (1.46ms, 10.3MB)
'๊ฒ์ ํ๋ก๊ทธ๋๋ฐ > Python ํ๋ก๊ทธ๋๋ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค ํ๋ณดํค (0) | 2023.02.22 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค ์ต์ต๋จ์ ์ธ์ฐ์ (0) | 2023.02.22 |
ํ๋ก๊ทธ๋๋จธ์ค [1์ฐจ] ๋ด์คํด๋ฌ์คํฐ๋ง (0) | 2023.02.21 |
ํ๋ก๊ทธ๋๋จธ์ค k์ง์์์ ์์ ๊ฐ์ ๊ตฌํ๊ธฐ (0) | 2023.02.21 |
ํ๋ก๊ทธ๋๋จธ์ค [1์ฐจ] ์บ์ (0) | 2023.02.20 |