그 당시 전화 자동 다이얼러는 다이얼 할 번호의 각 숫자에 대해 하나의 열이있는 펀치 카드를 사용했습니다. 열에는 7 행이있었습니다. 처음 세 행은 각각 (1,2,3), (4,5,6) 및 (7,8,9)를 나타냅니다. 마지막 3 열은이 배열을 (1,4,7), (2,5,8) 및 (3,6,9)로 90 ° 회전 시켰습니다. 가운데 행은 0에 사용되었습니다. 1-9 숫자는 두 개의 구멍이 뚫린 것입니다. 첫 세 행에 하나씩, 아래쪽 세 행에 하나씩 있습니다. 0은 가운데 줄만 펀칭합니다. 의는 숫자 6의 펀치 열을 시각화 보자는 ( .
, unpunched되어 x
왼쪽에 가이드가 인코딩을 설명하기 그냥, 펀칭) :
123 .
456 x
789 .
0 .
147 .
258 .
369 x
전화를 걸려는 번호가 포함 된 행을 찾습니다. 6의 경우, 이것은 두 번째 행과 아홉 번째 행입니다. 이 두 행은 펀칭되고 나머지 5 개의 행은 펀칭되지 않습니다. 모든 숫자 0-9에 대한 펀치 패턴은 다음과 같습니다.
0 1 2 3 4 5 6 7 8 9
123 . x x x . . . . . .
456 . . . . x x x . . .
789 . . . . . . . x x x
0 x . . . . . . . . .
147 . x . . x . . x . .
258 . . x . . x . . x .
369 . . . x . . x . . x
당신의 목표는 나를 위해이 카드들을 펀칭하는 것 (프로그램이나 기능을 작성하는 것)입니다.
입력 : 9999999999999를 초과하지 않는 합리적인 형식 (문자열, 정수, 정수 목록 등)으로 취한 숫자입니다.
출력 : 숫자 입력에 해당하는 천공 열 그리드입니다. 위에 표시된 머리글이나 여분의 간격이 필요하지 않고 천공 된 열 자체가 필요합니다. 행 / 열 사이의 공백 이 일관된 한 선행 / 트레일 링 줄 바꿈은 괜찮 습니다 . 말하자면, 일관성이있는 한 펀치를 위해 (공백이 아닌) 문자를 사용하고 펀치를 칠하지 않는 다른 문자를 사용할 수 있습니다 (명백해야하지만 사용중인 문자를 지정하십시오).
이것은 코드 골프이므로 가장 짧은 코드가 승리합니다. 표준 허점 은 허용되지 않습니다.
(모든 사용 테스트 케이스 .
unpunched에, x
펀치 용) :
In: 911
Out: .xx
...
x..
...
.xx
...
x..
In: 8675309
Out: ....x..
.x.x...
x.x...x
.....x.
..x....
x..x...
.x..x.x
In: 5553226
Out: ...xxx.
xxx...x
.......
.......
.......
xxx.xx.
...x..x