티스토리 뷰
728x90
thinking
행은 볼 필요없이 열만 차례대로 순회하며 1-2 의 순서이면 카운트를 해주는 방향으로 생각.
1-2 의 순서인지 어케 체크? -> stack에 넣었다 뺐다하며 확인
처음 1이 나오면 stack에 넣고, 스택에 1이 있는 상태에서 2가 나오면 pop해서 빈 스택을 만들어주고 교착상태 카운팅+1 해줌
이 과정을 행의 처음부터 끝까지 반복하기 위해 while r < N 조건을 줬다.
코드
T = 10
for tc in range(1, T+1):
N = int(input())
a = [list(map(int, input().split())) for _ in range(N)]
# 1: N극 성질-> 빨강이 2: S극 성질-> 파랭이
cnt = 0
for j in range(N): # (0,j) 열탐색
r, c = 0, j
stack = []
# 아래로 내려가면서 <1--2> 의 순서이면 체킹
while r < N:
if not stack and a[r][c] == 1: # 스택이 비어있는 상태이면서 1 이면 stack에 넣음
stack.append(1)
elif stack and a[r][c] == 2: # 스택에 1이 있는 상태에서 2가 나오면 pop 해서 cnt에 더해주기
cnt += stack.pop()
r += 1 # 아래로 진행하기 위해 row 인덱스 증가시켜주기
print("#{} {}".format(tc, cnt))
'algorithm > swea' 카테고리의 다른 글
[swea] 2805. 농작물 수확하기 / python 파이썬 (0) | 2021.04.08 |
---|---|
[swea] 1225. 암호생성기 / python 파이썬 (0) | 2021.04.08 |
[swea] 1219. 길찾기 / python 파이썬 (1) | 2021.04.08 |
[swea] 4869. 종이붙이기 / python 파이썬 (0) | 2021.04.08 |
[swea] 1860. 진기의 최고급 붕어빵 / python 파이썬 (0) | 2021.02.26 |
댓글
글 보관함
TAG
- 기지국설치
- 파이썬
- 백준
- 20057 마법사 상어와 토네이도
- 브루트포스
- 삼성기출
- swea
- 2018 카카오 공채
- react
- 알고리즘
- git 미러링
- dp
- 보석쇼핑
- 프로그래머스
- 21609 상어 중학교
- 영어끝말잇기
- 20056 마법사 상어와 파이어볼
- 17406 배열돌리기4
- 삼성코테
- 2579 계단오르기
- dfs
- BFS
- merge 에러
- Python
- merge에러
최근에 올라온 글
- Total
- Today
- Yesterday
최근에 달린 댓글