728x90
https://school.programmers.co.kr/learn/courses/30/lessons/64061
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
์์ด๋์ด
1. ๋ฝ์ ์ธํ์ ์ฐจ๋ก๋๋ก ๋ชจ๋ ๋ฆฌ์คํธ์ ์ ์ฅํ๋ค
2. ๋ฆฌ์คํธ๋ฅผ ์ํํ๋ฉด์, ๊ฐ์ ์ข ๋ฅ์ ์ธํ 2๊ฐ๊ฐ ์ฐ์ํ๊ฒ ๋๋ฉด ํด๋น ์ธํ๋ค์ popํ์ฌ ์๋ก์ด ๋ฆฌ์คํธ์ ๋ด๋๋ค
3. ์๋ก์ด ๋ฆฌ์คํธ์ ์์ ๊ฐ์๋ฅผ ๋ฆฌํดํ๋ค.
def solution(board, moves):
answer = 0
n = len(board)
# ์ธํ ๋ฝ์์ ๋ฐฐ์ด์ ์ ์ฅ
after = []
for i in range(len(moves)):
cur_pos = moves[i] - 1
for j in range(n):
if board[j][cur_pos] != 0:
after.append(board[j][cur_pos])
board[j][cur_pos] = 0
break
# ๋ฝ์ ์ธํ์ด 1๊ฐ ์ดํ๋ผ๋ฉด 0์ ๋ฆฌํด
if len(after)<=1:
return 0
# ํฐํธ๋ ค์ง๋ ์ธํ์ ํฐํธ๋ฆฌ๊ธฐ
result=[]
idx = 1
while idx < len(after):
if after[idx] == after[idx-1]:
result.append(after.pop(idx))
result.append(after.pop(idx-1))
if idx == 1:
idx = 0
else:
idx -= 2
idx += 1
return len(result)
728x90
'์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํผ๋ก๋ (0) | 2023.06.15 |
---|---|
[๋ฐฑ์ค]5566๋ฒ: ์ฃผ์ฌ์ ๊ฒ์ (0) | 2023.03.21 |
[๋ฐฑ์ค]1522๋ฒ: ๋ฌธ์์ด ๊ตํ (0) | 2023.03.19 |
[๋ฐฑ์ค]1026๋ฒ: ๋ณด๋ฌผ (0) | 2023.03.17 |
[๋ฐฑ์ค]1205๋ฒ: ๋ฑ์ ๊ตฌํ๊ธฐ (0) | 2023.03.15 |