본문 바로가기
👩‍💻 Programming/Coding Test 문제 풀이

[프로그래머스] level 3 블록 이동하기(자바스크립트)

by codingBear 2023. 1. 18.
728x90
반응형
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


👨‍💻 문제


정답 코드

답안 1


문제 풀이

  전형적인 bfs 문제이다. 다만 로봇의 크기가 두 칸이기 때문에 배열을 탐색하면서 두 칸의 좌표를 체크해야 하고, 상하좌우 90도씩 회전이 가능하다는 점에 유의해야 한다. 또한 방문 여부를 체크하기 위해 visited란 배열을 선언하고, 왼쪽 및 오른쪽 좌표를 문자열로 만든 값을 활용한다는 것도 유의점이다. 상하좌우로 회전을 할 수 있는지 여부를 체크할 때 로봇 기준 두 칸의 상하좌우 요소가 0인지 확인하는 작업이 필요하다. 

 bfs 문제를 풀 때 배열 크기를 주어진 것보다 가로세로 2씩 늘리면 탐색 조건을 설정하기 한결 수월해진다.


함께 보기

 

[프로그래머스] LV.3 블록 이동하기 (JS)

로봇개발자 "무지"는 한 달 앞으로 다가온 "카카오배 로봇경진대회"에 출품할 로봇을 준비하고 있습니다. 준비 중인 로봇은 2 x 1 크기의 로봇으로 "무지"는 "0"과 "1"로 이루어진 N x N 크기의 지도

velog.io

 

728x90
반응형

댓글