[백준/파이썬] 1952번 달팽이2 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 1952번 달팽이2
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
M x N 격자를 달팽이처럼 이동할 때
방향 전환 횟수를 구하는 문제입니다.
코드
m,n=map(int,input().split())
a=b=x=y=1
c=0
while True:
if c%4==0: x+=1
elif c%4==1: y+=1
elif c%4==2: x-=1
else: y-=1
if not(a<=y<=m) or not(b<=x<=n):
if c%4==0: a+=1
elif c%4==1: n-=1
elif c%4==2: m-=1
else: b+=1
if not(a<=m and b<=n):break
else: c+=1
print(c)
설명
현재 진행 방향으로 이동하다가 경계를 벗어나면 진행 가능한 영역 경계를 줄이고 방향을 전환합니다.
더 이상 진행할 칸이 없을 때까지 반복하며
전환 횟수 c를 출력합니다.
댓글남기기