인공지능 시대, 코딩은 선택이 아닌 생존 전략입니다

코딩은 미래를 지배하는 기술의 언어, 당신의 가능성을 열어줄 열쇠입니다.

프로그래밍언어문법/실력키우기문제

1006 : 로봇- 연습문제

파아란기쁨1 2021. 7. 10. 11:14
반응형

연습문제 1) 다음과 같이 8 * 8 배열의 위치에서 0 이 있는 위치로만 이동할 수 있는 경우 1,1 에서 출발하여 8,8 위치에 갈 수 있는 최단 거리는 얼마인가.(방향은 동서남북 으로 이동할 수 있다)

 

입력예)

0 0 0 0 0 0 0 0

0 1 0 1 0 1 1 1

1 1 1 1 0 0 0 0

0 0 0 0 0 1 1 1

0 1 1 1 0 1 1 1

0 0 0 0 0 0 0 0

0 1 1 1 1 1 1 1

0 0 0 0 0 0 0 0

 

출력예)

23

 

 

연습문제2)  다음과 같이 n * m 배열의 위치에서 0 이 있는 위치로만 이동할 수 있고 방향은 동서남북으로 이동 할 수 있는 로봇이 있다. 이때 한번 작업으로 이동할 수 있는 경우는 자신이 가르키고 있는 방향으로 한칸 이동할 수 있거나 혹은 자신의 위치에서 90도 직각으로 회전 할 수 있다.

그렇다면 1,1 의 오른쪽 방향을 바라 보고 있는 위치에서 5,6의 오른쪽 방향을 바라보고 있는 위치 까지 이동할 수 있는 최소 작업횟수는 몇번인지 구하는 프로그램을 작성하시오.

 

입력 형식은 첫번째 줄에 n 과 m

그 다음부터 n * m 의 데이터가 입력 된다.

 

입력예)

5 6

0 0 0 0 0 0

0 1 1 0 1 0

0 1 0 0 0 0

0 0 1 1 1 0

1 0 0 0 0 0

 

출력예)

11

반응형