✔️ code
def solution(board, moves):
answer = 0
dolls=[]
for i in moves:
for j in range(len(board)):
if board[j][i-1]!=0: #만약 인형이 있다면,
dolls.append(board[j][i-1]) #stack 에 추가한다.
board[j][i-1]=0
if len(dolls)>=2: #stack의 길이가 2이상이면,
if dolls[-1]==dolls[-2]: #원소 2개를 비교한다.
answer+=2
#비교한 원소가 같다면 제거한다.
dolls.pop(-1)
dolls.pop(-1)
break
return answer
>>>
input 배열이 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] 였는데,
행과 열을 반대로 생각해서 처음에 애를 많이 먹었던 문제다.
알고보니 아래 방식처럼 생각해야 했던 것인데 이것 때문에 이해를 못했다니 좀 허무하기도 했다.
00000
00103
02501
42442
35131
'알고리즘' 카테고리의 다른 글
[그리디] 증가수열 만들기 (0) | 2022.03.05 |
---|---|
[그리디] 침몰하는 타이타닉 (0) | 2022.03.04 |
[그리디] 창고 정리 (0) | 2022.03.03 |
[그리디] 씨름 선수 (0) | 2022.03.02 |
[그리디] 회의실 배정 (0) | 2022.03.01 |