반응형
오늘 면접본 곳 발표가 났는데 불합격이다...ㅜㅜ
첫면접이었고 나름 잘 봤다고 생각했는데 아쉽다.
그래도 너무 좌절까진 아니다. 매일매일 더 열심히하면 언젠가 합격이라는 단어를 볼 수 있겠지^^
백준 로봇청소기 골드5인데 골드는 처음 풀어본 것 같다.
삼성 sw역량테스트 문제라는데 생각만 잘하고 코딩하면 그렇게 어렵진 않다.
7월 목표는 프로그래머스 level3 전부 풀고 백준 골드문제 많이 풀기!!!
n, m = map(int, input().split())
x, y, d = map(int, input().split())
a = [list(map(int, input().split())) for _ in range(n)]
a[x][y] = 2
dx, dy = [-1, 0, 1, 0], [0, 1, 0, -1] #서북동남
def clean(x, y, d):
ans=1
while True:
c = False
for k in range(4):
d = (d+3)%4 #왼쪽 회전
nx, ny = x+dx[d], y+dy[d]
if a[nx][ny] == 0: #벽이 아니고 청소가 안되어있는 곳이라면
a[nx][ny] = 2 #청소 완료 표시
ans += 1
x, y = nx, ny
c = True
break
if not c: #네 방향 모두 청소할 수 없을 경우
if a[x-dx[d]][y-dy[d]] == 1: #한칸 후진한 곳이 벽이라면
return print(ans)
else:
x, y = x-dx[d], y-dy[d] #한칸 후진
clean(x, y, d)
반응형
댓글