https://programmers.co.kr/learn/courses/30/lessons/64061
이문제를 처음 풀었을 때 그림으로 그려보고 시작했다.
두가지 부분을 신경써야 했는데
첫번째는 인형을 꺼내는 바구니이고,
두번째는 인형을 담는 바구니가 되야하는데,
인형을 꺼내는 바구니에서 신경써야하는 부분은
모든 행의 인데스 0번째, 1번째... 이렇게 한 스택이 되고,
인형이 꺼내지면 숫자는 0으로 바꿔주는게 좋겠다 라고 생각했다.
인형을 담는 바구니는
숫자가 2번 반복되면 없애주고, 다시 꺼내온 대로 정렬을 했을 때 반복을 확인해서 없애주어야 한다.
def solution(board, moves):
result = ['0']
answer = 0
for i in moves:
for j in range(len(board)):
if board[j][i-1] != 0:
if result[-1] == board[j][i-1]:
result.pop()
answer += 1
else:
result.append(board[j][i-1])
board[j][i-1] = 0
break
return answer*2
- 문제를 풀었을 때 스택,큐에 대해 한번 더 생각을 하고 , 정리할 수 있었다.
[codint_test]짝지어 제거하기 (0) | 2021.06.09 |
---|---|
[coding_test]큰 수 만들기 (0) | 2021.06.09 |
[coding_test]기능개발 (0) | 2021.05.25 |
[coding_test]더 맵게 (0) | 2021.05.24 |
[coding_test]음양 더하기 (0) | 2021.05.20 |