트랙
/
WebAssembly
WebAssembly
/
연습 문제
/
로봇 시뮬레이터
로봇 시뮬레이터

로봇 시뮬레이터

보통

지침

로봇 시뮬레이터를 만들어요.

로봇 공장의 시험 시설에는 로봇의 움직임을 검증할 프로그램이 필요해요.

로봇이 할 수 있는 움직임은 세 가지예요:

  • 오른쪽으로 회전
  • 왼쪽으로 회전
  • 전진

로봇은 가상의 무한 격자에서 특정 방향(north, east, south, west 중 하나)을 향한 채 {x,y} 좌표, 예를 들어 {3,8}에 놓여요. 좌표는 north와 east 방향으로 갈수록 커져요.

그다음 로봇은 여러 명령을 받아요. 그러면 시험 시설이 로봇의 새로운 위치와 로봇이 향하고 있는 방향을 검증해요.

  • 문자열 "RAALAL"은 다음과 같은 뜻이에요:
    • 오른쪽으로 회전
    • 두 번 전진
    • 왼쪽으로 회전
    • 한 번 전진
    • 또다시 왼쪽으로 회전
  • 로봇이 {7, 3}에서 north 방향을 향한 채 시작한다고 해봐요. 그러면 이 명령들을 실행했을 때 로봇은 {9, 4}에서 west 방향을 향하고 있어야 해요.

로봇이 바라보는 방향은 다음 숫자 중 하나로 표현해요:

  • North = 0
  • East = 1
  • South = 2
  • West = 3

입력이 유효하지 않으면 방향으로 -1을 반환해요 (다른 값은 무시해요).

예약 메모리

입력 문자열을 위한 버퍼는 선형 메모리의 64-319 바이트를 사용해요.

원한다면 입력 문자열을 수정해도 돼요.


출처

유명 기업의 면접 질문에서 영감을 받았어요.
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
WebAssembly Exercism

로봇 시뮬레이터 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 WebAssembly 트랙을 연습 문제 87개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.