이것은 코드 골프입니다. 이 도전을 위해 메소드를 수락하지만 (전체 프로그램이 필요하지는 않습니다) 메소드 서명은 바이트 수로 계산되며 전체 서명 (lamdba 아님)을보고 싶습니다. 메소드의 입력은 81 개의 요소가있는 정수 배열입니다. 메소드의 출력 / 반환 값은 배열을 ASCII 스도쿠 보드로 나타내는 문자열입니다.
난해한 언어 나 방법이없는 것을 사용하는 경우, 적응할 수 있지만, 언어가 전혀 지원하지 않으면 실제로 "goal"ungolfed 프로그램에 연결되어 있는지 확인하고 싶습니다. 메소드 본문 자체는 작업하기가 쉽지 않습니다. 요구 사항은 Jelly 또는 05AB1E와 같은 언어를 차단하기위한 것이 아니라 Java와 같은 언어가 해당 플랫폼에 적합한 것을 쉽게 빌드 할 수 있도록하기위한 것입니다.
입력의 경우 정수 값 1-9는 명백한 의미를 가져야합니다. 0은 항상 빈 셀로 해석해야합니다. 1-9 범위 밖의 다른 것을 빈 셀로 해석 할 수도 있지만 필수는 아닙니다. 배열에서 퍼즐까지의 위치는 왼쪽 상단에서 시작하여 다음 행으로 이동하기 전에 왼쪽에서 오른쪽으로 각 행을 채 웁니다.
상자의 경우 외부와 각 3x3 영역 사이에 이중선을, 다른 셀 사이에 단일 선을 원합니다. 선 그리기 문자로 그려야합니다 (I / O 형식이 문자열을 문자 시퀀스가 아닌 바이트 시퀀스로 나타내는 경우 UTF-8 또는 코드 페이지 347과 같은 잘 알려진 인코딩으로 표시해야 함).
이 도전 을 위해 스도쿠 퍼즐을 생성하도록 요구 하지 않습니다 . 이것이 함수의 입력입니다. 난 당신이 퍼즐을 해결하도록 요구 하지 않습니다 . 나는 당신이 주어진 것을 (가능한 한 적은 바이트로) "그리기"위해 문자열을 생성하도록 요구하고 있습니다.
입력 예 :
배열 값 :
{ 8, 5, 0, 0, 0, 2, 4, 0, 0, 7, 2, 0, 0, 0, 0, 0, 0, 9, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 0, 0, 2, 3, 0, 5, 0, 0, 0, 9, 0, 0 ,0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 7, 0, 0, 1, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 0, 4, 0}
모든 셀에 대한 입력 값이있는 한 값은 언어에 자연스러운 메커니즘을 사용할 수 있습니다 : int [], ArrayList, 시퀀스, 튜플, 문자열 등 ). 입력이 제공된다는 것을 기억하십시오. 그것은 바이트 수의 일부가 아닙니다. 그러나 입력은 스도쿠 퍼즐을 나타낼 수 있으며 퍼즐 에는 유효한 솔루션이 없을 수도 있습니다 . 당신은 퍼즐 이 있다고 가정 인쇄 . 예를 들어 82 개의 요소가있는 것은 없습니다.
또한 합리적인 고정 너비 글꼴을 사용해야합니다.
해당 출력 :
╔ === ╤ === ╤ === ╦ === ╤ === ╤ === ╦ ==== ╤ === ╤ === ╗ ║ 8 │ 5 │ ║ │ │ 2 ║ 4 │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 7 │ 2 │ ║ │ │ ║ │ │ 9 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ │ 4 ║ │ │ ║ │ │ ║ ╠ === ╪ === ╪ === ╬ === ╪ === ╪ === ╬ ==== ╪ === ╪ === ╣ ║ │ │ ║ 1 │ │ 7 ║ │ │ 2 ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ 3 │ │ 5 ║ │ │ ║ 9 │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ 4 │ ║ │ │ ║ │ │ ║ ╠ === ╪ === ╪ === ╬ === ╪ === ╪ === ╬ ==== ╪ === ╪ === ╣ ║ │ │ ║ │ 8 │ ║ │ 7 │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ 1 │ 7 ║ │ │ ║ │ │ ║ ╟───┼───┼───╫───┼───┼───╫───┼───┼───╢ ║ │ │ ║ │ 3 │ 6 ║ │ 4 │ ║ ╚ === ╧ === ╧ === ╩ === ╧ === ╧ === ╩ ==== ╧ === ╧ === ╝