Рубин, 53 байта char c(string i){var s=i.Where((n,m)=>i.ToLower().Where(o=>o==Char.ToLower(n)).Count()<2).ToArray();return s.Length>1?s[1]:' ';}
, which is not printed.
;╗`ù╜ùc1=`░ε;(qq1@E
;╗ push a copy of input to reg0
`ù╜ùc1=`░ [v for v in s if
ù╜ùc1= s.lower().count(v.lower()) == 1]
ε;(qq append two empty strings to the list
1@E element at index 1 (second element)
is a strange function in Ruby because instead of counting the number of occurrences for the string that was passed in, it counts the number of occurrences for each letter in that string. It's usually annoying but we can use it to our advantage this time. ;╗`ù╜ùc1=`░ε;(qq1@E
Вход — STDIN, выход — STDOUT. В Ruby возвращаются позиции вне индекса в массиве или строке.
@echo off
set a=.
set s=%~1
:l
if "%s%"=="" exit/b
set c=%s:~0,1%
set t=%s:~1%
call set s=%%s:%c%=%%
if "%s%"=="%t%" set a=%a%%c%
if "%a:~2%"=="" goto l
echo %c%
меняет местами прописные и строчные буквы. @echo off
set a=.
set s=%~1
:l
if "%s%"=="" exit/b
set c=%s:~0,1%
call set t=%%s:%c%=%%
if "%s:~1%"=="%t%" set a=%a%%c%
set s=%t%
if "%a:~2%"=="" goto l
echo %c%
- 46 bytes
s=input().lower();print[c for c in s if s.count(c)<2][1:2]
||answer||
Старая версия, которая не была защищена от специальных символов, таких как
Œlµḟœ-Q$Ḋḣ1 Main link. Argument: s (string)
Œl Convert s to lowercase.
µ Begin a new, monadic chain. Argument: s (lowercase string)
$ Combine the two links to the left into a monadic chain.
Q Unique; yield the first occurrence of each character.
œ- Perform multiset subtraction, removing the last occurrence of each
character.
ḟ Filterfalse; keep characters that do not appear in the difference.
Ḋ Dequeue; remove the first character.
ḣ1 Head 1; remove everything but the first character.
Java 8, 172 157 байт
-15 байт... Черт, я тогда плохо играл в гольф. ;)
Объяснение:
Œlµḟœ-Q$Ḋḣ1
||answer||
l© # store lower case string in register
v } # for each char in lower case string
®y¢iy # if it occurs once in string, push it to stack
} # end if
1@ # push the 2nd element from stack and implicitly display
, 79 байт
Попробуйте онлайн!
Я определенно чувствую, что здесь можно что-то сыграть в гольф. Но мне очень понравился этот вызов.
Этот ответ разбивает строку на вектор символов, изменяет их все на нижний регистр и помещает в таблицу (подсчитывает их). Символы, которые встречаются один раз, выбираются и сравниваются с символами в вышеупомянутом векторе, затем в качестве вывода возвращается второе истинное значение. Пустая строка или строка без повторяющихся символов выводит NA.