장면 설정 :
PPCG에 관한 매력적인 질문에 답하기 위해 좋아하는 취미에 참여함으로써 긴 하루를 보낸 후 평균 오후입니다. 좋은 하루가 아니었다. 저주받은 Pyth 프로그래머는 계속해서 최고의 답변을 얻습니다. 갑자기 새로운 질문이 게시되었습니다. 당신은 당신의 마음을 구성합니다; 이번에는 CJammers가 아닙니다. 분노하게도, 당신은 문자의 흐름을 낳기 시작하기 시작합니다. 최종 제품이 될 영광스러운 BrainFuck 루프의 태아. 입력하고 입력합니다. 빨리! 더 빨리! 너무 집중되어있어 화면의 표시등이 깜박 거리기 시작하지 않습니다. 갑자기 모니터가 녹색으로 빛나고 바탕 화면에 상표가 붙은 외계인과 같은 외계인입니다. 완벽한 기술을 사용하여cat ~/Desktop/aliensymbol
많은 숫자와 메시지가 나타납니다! 당신이 날카로운 PPCG 프로그래머이기 때문에 ASCII처럼 보입니다. 당신 print(chr(i) for i in file)
과 상관없이, 당신 은 메시지를 해독합니다. 당신의 첫 생각 : "이것을 커뮤니티와 공유해야합니다!".
...
누가 생각했을까요? 외계인과 처음 접촉 한 사람들은 PPCG의 겸손한 프로그래머 일 것입니다. 우린 왜? 우리가 인간 지능의 전형이기 때문일 수도 있습니다. 아니면 BrainFuck이 우리가 외계 언어에 가까워 야하기 때문일 수도 있습니다. 그럼에도 불구하고 외계인은 자신들이 지적으로 지능적인 삶의 형태로 인류를 지능적으로 분류해야하는지 여부를 테스트하고 싶어합니다. 우리의 정신력 테스트로서, 외계인들은 우리에게 기술적으로 문화 화되어 있음을 보여주는 몇 가지 컴퓨터 프로그램을 보내달라고 요청했습니다. 문제는 그들이 이해하는 유일한 언어는 숫자 ASCII입니다!
인류가 진정한 지적 알파인 생물을 보여 주도록 도와주세요. 텍스트 기반 소스 코드를 숫자 ASCII 버전으로 변환하는 스크립트를 보내야합니다. 불행히도, 우리의 저개발 기술 (오바마 덕분에) 때문에 가능한 작은 번역 프로그램을 보내야합니다. 그들이 PPCG에 연락하기로 선택한 것이 좋습니다!
도전 과제 :
이 과제의 전제는 간단합니다. 프로그램의 소스 코드 (또는 해당 문제에 대한 일반 텍스트 파일)를 가져와 각 줄 아래에 ASCII 변환으로 공백으로 구분 된 버전을 출력하는 프로그램을 작성해야합니다. 즉, 텍스트 파일을 입력하면 해당 파일의 각 줄과 그 위의 줄에있는 각 문자의 ASCII 표현을 포함하는 줄이 출력되어야합니다 (각 숫자가 나타내는 문자와 정렬 됨).
예를 들어 이것을 명확하게 설명 할 것입니다. 악명 높은 소스 코드를 hello world
입력으로 사용 :
#include <stdio.h>
int main() {
printf("hello, world\n");
return 0;
}
프로그램은 다음을 출력해야합니다 :
# i n c l u d e < s t d i o . h >
35 105 110 99 108 117 100 101 32 60 115 116 100 105 111 46 104 62 10
10
i n t m a i n ( ) {
105 110 116 32 109 97 105 110 40 41 32 123 10
p r i n t f ( " h e l l o , w o r l d \ n " ) ;
32 32 32 32 112 114 105 110 116 102 40 34 104 101 108 108 111 44 32 119 111 114 108 100 92 110 34 41 59 10
r e t u r n 0 ;
32 32 32 32 114 101 116 117 114 110 32 48 59 10
}
125 10
구현 세부 사항 :
파일, 명령 행 파이프, 함수 매개 변수 등 원하는 형식으로 입력을 선택할 수 있으며 stdout으로 출력하거나 함수에서 출력을 리턴해야합니다.
참고 사항
- 출력의 각 문자는 '\ t'로 구분되어 아래 줄에서 3 자리 숫자의 공백을 줄입니다 (탭이 4 자리 이상으로 설정되어 있다고 가정합니다).
- 개행은 리턴 키가 눌린 행에 표시됩니다 (이 예에서는 10을 알 수 있습니다)
- '\ t'및 '\ n'인쇄 요구 사항은 느슨합니다. 당신의 결과물은 일반적으로 눈을 즐겁게해주어야하며 (미적 감각을 가진 외계인을 보여줘야합니다), 시각적 무결성을 유지하면서 앞의 두 지점을 구부릴 수 있다면 용서받을 것입니다.
- 마지막 줄 끝에 줄 바꿈이 있는지 여부를 가정 할 수 있습니다.
채점
이것은 코드 골프이므로 가장 짧은 프로그램이 승리합니다. 프로그램이 가장 짧지는 않지만 사용중인 언어와 관련하여 정말 깔끔한 트릭을 사용하지만 많은 +1이 있습니다!
행운을 빕니다. 인류의 은하계 지능 순위는 당신의 어깨에 달려 있습니다.
참고 : 플롯 구멍을 용서하십시오. 나는 작가가 아니다 : D