자바 스크립트 (외부 라이브러리 사용) (235 바이트)
이건 힘들었다! 글쎄 ... 내 도서관은 실제로이 하하에 대한 올바른 작업이 아니 었습니다. 그러나 나는 도전을 좋아했다
(x,y)=>{r=x-1;s=y-1;m=Math.max(r,s);n=Math.min(r,s);l=_.RangeDown(s,y).WriteLine(z=>_.Range(0,x).Write("",w=>z==0&&w==0?"X":(z==w||(z==s&&w>=n)||(w==r&&z>=n))?"#":"."));return l+"\r\nMove count: "+(l.length-l.split("#").join("").length)}
lib에 링크 : https://github.com/mvegh1/Enumerable
코드 설명 : 2 개의 변수를 생성합니다. x-1과 y-1을 변수에 저장하십시오. 변수의 최대 값과 최소값을 변수에 저장하십시오. y 개수에 대해 (y-1)에서 세로로 내림차순 범위를 만듭니다. 수직 범위의 각 요소에 대해 복합 술어에 따라 현재 요소의 행을 작성하십시오. 이 술어는 x의 계수에 대해 0에서 정수의 오름차순 범위를 작성합니다. 해당 범위의 각 요소에 대해 복합 술어에 따라 1 개의 문자열로 연결하십시오. 이 술어는 왼쪽 하단에 있는지 확인하고, 대각선에 있는지 확인하고, 그렇지 않으면 X 또는 Y 경계에 있는지 확인합니다. 마지막으로 모든 것이 변수에 저장되었습니다. 그런 다음 이동 수를 얻으려면 기본적으로 #을 계산합니다. 그런 다음 저장된 변수에 연결하고 결과를 반환하십시오.
한입 가득했습니다. 이것을 게시하는 동안 4 바이트를 저장하는 방법을 찾았 기 때문에 스크린 샷의 바이트 수가 잘못되었습니다
편집 : 다른 답변이 출력에 "이동 횟수 :"를 넣지 않는 것을 보았지만 내 것이 었습니다. 그것이 요구 사항이 아니라면 많은 바이트를 면도합니다 ...