(@ChasBrown 덕분에 제목)
배경
이 도전은 최근 Puzzling Stack Exchange 에 게시 한 질문에서 영감을 얻었습니다 . 원래 질문에 관심이 있으시면 링크를 따라 주시기 바랍니다. 그렇지 않다면 여기에 세부 사항이 없습니다.
사실
인쇄 가능한 모든 표준 ASCII 문자는 32에서 126 사이의 10 진수 값을 갖습니다. 이들은 100000에서 1111110 사이의 해당 이진수로 변환 될 수 있습니다. 이 이진수의 비트를 합하면 항상 1에서 6 사이의 정수로 끝납니다.
도전
입력 값으로 1에서 6까지의 정수가 주어지면, 이진 값의 비트의 합이 입력 정수와 동일한 인쇄 가능한 모든 표준 ASCII 문자를 허용 가능한 형식으로 출력하는 프로그램 또는 함수를 작성하십시오.
예제 / 테스트 사례
1 -> ' @'
2 -> '!"$(0ABDHP`'
3 -> '#%&)*,1248CEFIJLQRTXabdhp'
4 -> ''+-.3569:<GKMNSUVYZ\cefijlqrtx'
5 -> '/7;=>OW[]^gkmnsuvyz|'
6 -> '?_ow{}~'
ungolfed Python 참조 구현은 여기 (TIO)에서 사용할 수 있습니다 .
규칙
- 입력이 항상 1과 6 사이의 정수 (또는 정수의 문자열 표현)라고 가정하십시오.
- 결과를 표시하는 프로그램이나 결과를 반환하는 함수를 작성할 수 있습니다.
- 출력은 합리적인 형식 일 수 있지만 모든 입력에 대해 일관성이 있어야합니다 . 인용 문자열을 출력하기로 선택한 경우 모든 입력에 동일한 유형의 인용 부호를 사용해야합니다.
- 평상시와 같이 표준 허점은 금지되어 있습니다.
- 이것은 코드 골프이므로 각 언어에서 가장 짧은 코드가 승리합니다.
'은 기본적으로 문자열의 문자열 표현에 작은 따옴표 ( )를 사용하지만 "문자열에 작은 따옴표가 있고 큰 따옴표가없는 경우 큰 따옴표 ( )를 사용 합니다. . 실제 문자열을 표현하는 대신 반환하는 것이 더 좋을 것이므로이 특정 사례는별로 중요하지 않으며 어쨌든 입력을 위해 이러한 문자열에 작은 따옴표를 사용할 수는 있지만 여기서 언급 할 가치가 있다고 생각합니다.
« »)? : D


63vs?) 이어야 합니까?