도전
p
비어 있지 않은 입력 문자열이 주어지면 의 소스 코드에서 각 문자의 첫 번째 발생s
위치를 출력하는 비어 있지 않은 프로그램 / 함수 를 작성하십시오 .s
p
예를 들어 프로그램이
main() { cout << magic << cin }
^0 ^5 ^10 ^15 ^20 ^25
입력을 받으면 abcd{
출력은
[1, x, 9, x, 7] (0-based) [2, x, 10, x, 8] (1-based)
여기서, x
문자 위치에 대한 유효한 출력되지 않습니다 출력을 나타낸다 (예를 들어, 음의 번호 0
는 1부터 인덱싱을 사용하는 경우 NaN
, Inf
문자열 potato
, 프로그램의 길이보다 숫자보다, 등).
제한 사항
소스 코드를 읽는 것은 허용되지 않습니다 (예 : 적절한 quine에서). 의견 사용은 허용되지만 점수에는 포함됩니다.
입력 및 출력은 합리적인 형식으로 수행 할 수 있습니다,하지만해야합니다 모호 (만 추가하면 구분없이 rand
스트림과 응답이 어딘가에 주장), 일관성 (예를 들어, x
위에서 항상해야합니다 같은 값) 및 인간 - 읽을 수있는 ; 예를 들어 문자열 또는 문자 배열입니다. 입력이 인쇄 가능한 ASCII 문자의 문자열 (또는 배열)이라고 가정 할 수 있습니다. 전체 유니 코드 세트를 처리 할 필요가 없습니다.
코드에서 사용자 정의 코드 페이지 또는 인쇄 할 수없는 ASCII?
언어가 사용자 정의 코드 페이지 (Jelly, APL 등)를 사용하는 경우이를 고려해야합니다 (따라서 프로그램 €æÆ
은 입력을 [1, x, 2]
위해 출력해야 함 €%æ
). ASCII가 아닌 문자 만 사용하여 -1
항상 출력 하려면 (입력이 ASCII 전용이므로) 올바른 솔루션이 아닙니다. 프로그램이 기본적으로 사용자 정의 코드 페이지를 승인한다고 가정 할 수 있습니다. 즉, 프로그램에 문자 A
를 정수 65
(ASCII 인코딩) 로 변환하는 방법이있는 경우 이제 코드 페이지의 65 번째 문자를로 변환한다고 가정 할 수 있습니다 65
.
다음 도전에 영감 : 위치 상 인식
01030708070
합니까 , 예를 들어 출력 할 수 있습니까?