뒤집힌 버전의 숫자를 반환 예를 들어, 7 세그먼트

숫자가 계산기에 표시되면 해당 숫자의 다양한 변형이 어떻게 보이는지 고려할 수 있습니다. 예를 들어, 7 세그먼트 디스플레이에서 2는 다음과 같이 표시됩니다.

수평으로 뒤집 으면 다음과 같이 보입니다.

따라서 2의 미러 이미지는 5입니다.

이 과제의 과제는 한 자리 숫자를 가져 와서 거울 이미지 인 숫자를 반환하는 것입니다 (가능한 경우). 미러 이미지가 숫자처럼 보이지 않으면 가능한 경우 180도 회전 한 숫자를 반환하십시오. 둘 중 하나라도 해당되지 않으면 -1을 반환하십시오.

프로그램이 처리해야하는 전체 입력 및 출력 목록은 다음과 같습니다.

Input   Output
0       0
1       -1
2       5
3       -1
4       -1
5       2
6       9
7       -1
8       8
9       6

A와 도전, 가장 짧은 코드가 승리!



답변

하스켈 -43 31

공상없는 43 자.

f 0=0
f 8=8
f 2=5
f 5=2
f 6=9
f 9=6
f _= -1

부분 기능으로 만들어서 31 자로 줄였습니다.

f=([0,-1,5,-1,-1,2,9,-1,8,6]!!)

답변

골프 스크립트, 15 14

스펙을 다시 읽고 입력이 문자열이어야한다는 것을 알았습니다.

"0.5..29.86"\?

실행하려면

echo -n 2 | ruby golfscript.rb a.gs

이전 버전 (정수 입력) :

[0.5..2 9.8 6]?

최신 (14 바이트)은 aditsuCJam 답변 에서 다소 영감을 얻었습니다 .


답변

PowerShell-27

'0 5  29 86'.indexof($args)

답변

파이썬 2.x-28

'015..29.86'.find(`input()`)

답변

자바 스크립트 37 36

alert("0_5__29_86".search(prompt()))

답변

CJam, 20 바이트

q25691347`"5296W"er~

온라인으로 사용해보십시오.

산출

$ for i in {0..9}; { cjam <(echo 'q25691347`"5296W"er~') <<< $i; echo; }
0
-1
5
-1
-1
2
9
-1
8
6

작동 원리

q          " Read from STDIN. The leaves a string on the stack.            ";
25691347`  " Push the string '25691347'.                                   ";
"5296W"    " Push the string '5296W'.                                      ";
er         " Perform character transliteration.                            ";
~          " Evaluate the result. Examples: '2' returns 2, 'W' returns -1. ";

답변

비 펀지 (93) – 18 14 20 바이트

Befunge가 2D 언어 줄 인 것은 다소 다르지만 주석 작성자가 옳다고 생각합니다. 그럼에도 불구하고이 순간에는 해설자가 옳습니다.

&1g01g-.
! &  #* )'

단계 :

&

입력을 숫자 x로 읽어 스택에 밀어 넣습니다.

1g

위치 x, 1에서 문자 값 c ( ‘!’= 33 또는 ‘*’= 42. 빈 셀 = 32)를 가져옵니다.

01g-.

셀 0,1 (33)의 문자 값을 읽고 c에서 빼고 숫자 값으로 출력합니다.