카카오 및 다른 코딩테스트류를 보니깐 지금까지 연습했던 Backtracking 및 재귀 방법말고도 도형을 이해하는게 중요하다고 생각했다. 리트코드에서는 오랫동안 건들지 않았던 Matrix 및 Simulation 태그를 사용해가지고 많은 문제들이 있는건 아니지만 그래도 풀어보고싶다.
2D 벡터같은경우는 쉬우면서도 좀 이해하기 어려운 부분들이 있을때도 있는데 이번 문제같은 경우는 도형을 회오리 모양으로 돌면서 answer 벡터안에 넣는 문제이다.
접근법은 생각보다 간단하다. 오른쪽으로 가는 방향 하나, 밑으로 가는 방향 하나, 왼쪽으로 가는방향, 그리고 밑에서 위로 올라갈수있는 방향을 가진 for 룹 4개를 쓰는것이다.
여기에서 중요한점은 계속적으로 반복해야하기때문에 마지막 한칸이 남기 전까지 for 룹을 돌려줘야하고 4개의 꼭지점에서 direction 에 맞는 부분을 하나씩 내리거나, 올려주거나 하면된다. 주의를 하면서 써줘야되는건 overflow 가 나올수도 있기 때문이다.
배운점:
1. Simulation 문제답게 상황을 이해하는게 중요하다
2. 도형을 이해하는 지식