문제 바로가기
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
나의 코드 및 설명
- 0은 배제하고 1(N)과 2(S)가 "12"의 형태로 붙어있다면 교착상태로 본다.
for test_case in range(1,11):
n = int(input())
board = []
for _ in range(n):
board.append(list(map(int, input().split())))
count = 0
for i in range(n):
temp_list = [] #0을 제외하고 1,2가 연속으로 있는지 확인하기 위한 리스트
for j in range(n):
if board[j][i] == 1: #1일 때,
if temp_list: #temp_list에 혹시 값이 담겨있다면
temp_list.clear() #temp_list를 초기화시키고
temp_list.append(1) #1을 추가
if board[j][i] == 2: #2일 때,
if temp_list: #temp_list에 값이 담겨 있다면 그건 1
count += 1 #1,2가 연속으로 있게됨
temp_list.clear() #clear
else:
continue
print("#{} {}".format(test_case, count))
피드백
어떻게 풀어야할지 헤맸다.. "12"로 붙어있다면 교착상태로 보는 것을 힌트를 보고 알았다. 구현 자체는 어렵지 않았다 ... 문제를 풀 꼼수를 찾는 노력을 해야겠다.
'SWEA (SW Expert Academy) > D3' 카테고리의 다른 글
[SWEA/D3] 1860 진기의 최고급 붕어빵 (0) | 2023.04.28 |
---|---|
[SWEA/D3] 1225 암호생성기 / DFS, for문 실행시간 비교 (0) | 2023.04.26 |
[SWEA/D3] 1244 최대 상금 / 백트래킹 (0) | 2023.04.26 |
[SWEA/D3] 2814 최장 경로 / DFS (0) | 2023.04.25 |
[SWEA/D3] 1216 회문2 / 2차원 리스트 가로,세로 변환 (0) | 2023.04.25 |