홍우진의 개발 일기장
[백준] 1652번: 누울 자리를 찾아라 / 파이썬 본문
728x90
반응형
문제 링크
https://www.acmicpc.net/problem/1652
풀이 코드
n = int(input())
bang = [list(input()) for _ in range(n)]
garo = 0
sero = 0
# 가로 검사
for y in range(n):
count = 0
for x in range(n):
if bang[y][x] == '.':
count += 1
else: #X가 나왔을 때
if count >= 2: # 2자리 연속으로 남아있다면
garo += 1 # 누울 곳 +1
count = 0 # 초기화
if count >= 2: # 줄이 끝났을 때 한번 더 확인
garo += 1
# 세로 검사
for x in range(n):
count = 0
for y in range(n):
if bang[y][x] == '.':
count += 1
else: #X가 나왔을 때
if count >= 2: # 2자리 연속으로 남아있다면
sero += 1 # 누울 곳 +1
count = 0 # 초기화
if count >= 2: # 열이 끝났을 때 한번 더 확인
sero += 1
print(garo, sero)
코드 해석
..X.. 일 때는 누울 자리가 두 곳이라는 사실을 간과하면 안된다(나만 몰랐었나)
가로로 싹 확인하고 세로로 싹 확인하며
X가 나온다면 지금까지 .이 연속으로 두 번 이상 나왔는지 확인,
나왔다면 누울 자리 += 1 을 한다.
그리고 카운팅 초기화 후 다시 확인.
끝날 때 까지 반복한다.
체감 난이도: ★★☆☆☆
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 28278번: 스택 2 / 파이썬 (0) | 2025.01.17 |
---|---|
[백준] 1244번: 스위치 켜고 끄기 / 파이썬 (0) | 2025.01.16 |
[백준] 14606번: 피자 (Small) / 파이썬 (0) | 2025.01.14 |
[백준] 14501번: 퇴사 / 파이썬 (0) | 2025.01.13 |
[백준] 15720번: 카우버거 / 파이썬 (0) | 2025.01.12 |
Comments