Stack Exchange 사이트 아이콘에는 몇 개의 문자가 있습니까?


19

아직 자체 디자인이없는 Stack Exchange 사이트의 이름을 고려하여 아이콘에 몇 개의 ASCII 문자 (비 ASCII 문자는 별도로 계산 됨)가 있는지 결정하십시오. 코드는 다음 4 가지 경우를 구별해야합니다.

1 자 :

Astronomy
Beer
Freelancing
Health
History
Law
Music: Practice & Theory
Parenting
The Great Outdoors
Writers

2 자 :

3D Printing
Amateur Radio
Biblical Hermeneutics
Bitcoin
Board & Card Games
Buddhism
Chinese Language
Coffee
Community Building
Computational Science
Computer Graphics
Data Science
Earth Science
Ebooks
Economics
Emacs
Engineering
Expatriates
French Language
Gardening & Landscaping
Genealogy & Family History
German Language
Hardware Recommendations
Hinduism
Homebrewing
Islam
Italian Language
Japanese Language
Joomla
Lifehacks
Martial Arts
Mathematics Educators
Motor Vehicle Maintenance & Repair
Music Fans
Mythology
Open Data
Personal Productivity
Pets
Philosophy
Physical Fitness
Politics
Portuguese Language
Project Management
Puzzling
Quantitative Finance
Reverse Engineering
Robotics
Russian Language
Software Quality Assurance & Testing
Software Recommendations
Sound Design
Space Exploration
Spanish Language
Sports
Startups
Sustainable Living
Tridion
Vi and Vim
Video Production
Windows Phone
Woodworking
Worldbuilding

3 자 :

Cognitive Sciences
elementary OS
Ethereum
History of Science and Mathematics
Linguistics
Open Source
Programming Puzzles & Code Golf
Signal Processing
Tor

비 ASCII :

Anime & Manga
Arduino
Aviation
Chess
CiviCRM
Poker

ASCII가 아닌 문자를 이름으로 사용하는이 문제에서 제외되었습니다.

LEGO® Answers
Русский язык

코드는 4 개 세트 각각에 대해 일관된 고유 값을 출력해야합니다. 각 출력 (또는 함수에서 반환 된 문자열이 아닌 값에 대한 문자열 표현)은 선택적인 후행 줄 바꿈을 제외하고 10 바이트를 넘지 않아야합니다.

동일한 언어로 여러 코드를 만들 수 있습니다. 제출 결과는 고정 된 순서로 연결된 각 코드 조각의 결과로 간주되므로 Regex를 사용할 수 있습니다.

가장 짧은 코드가 승리합니다.


이 정규식 골프처럼 솔기
HEGX64

또는 "애니메이션 및 만화"에 해당 로고에 일본어 문자가 있으므로 "비 ASCII"목록에있는 경우 파비콘을 사용하여 이미지를 분석 할 수 있습니다.
Chris J

@ChrisJ이 도전의 목적으로 인터넷에 접속해서는 안됩니다. 또 다른 질문이 될 수도 있습니다.
jimmy23013

Anime & Manga의 캐릭터는 분명히입니다 . 그러나 항공에 관한 것이가 아닌지 논쟁하는 것은 쉽지 않습니다 . 그래서 가장 쉬운 방법을 따르기로 결정했습니다.
jimmy23013

이름을 입력하고 ASCII 문자의 양을 출력합니까?
GamrCorps

답변:


6

CJam, 50 48 45 바이트

l22b391"þÁ "+{i%}/"Yª>Þÿ9cîÂcVáòe~"322b4b=

위의 문자열에는 인쇄 할 수없는 문자가 있습니다. 스 니펫으로 얻을 수 있습니다

[254 193 160]:c
[89 170 62 222 30 255 20 57 99 238 194 99 86 225 242 101 126 20]:c

또한 코드 포인트가 모두 256 미만임을 나타냅니다. 출력은 01 자, 12 자, 23 자 및 3비 ASCII입니다.

이 프로그램은 단순히 입력 문자열을 기본 22 숫자로 변환하고, 기본 4 인코딩 테이블에서 조회를 수행하기 전에 일련의 모듈러스를 수행하여 숫자를 줄입니다.

온라인으로 사용해보십시오 | 테스트 스위트


1
너 거짓말하는구나! 오픈 소스 에는 3 글자가 있습니다! 내 사이트에 어떻게 할 수 있습니까! 나는 ... 나는 ... 나는 상심!
Zizouz212

@ Zizouz212 0123출력은 각각 글자 수에 해당하지 않습니다. "각각"으로 OP에 나열된 순서를 언급하고 있었으므로 01 글자, 12 글자, 23 글자 및 3비 ASCII입니다. 혼란 스럽지만, 가장 골치 아픈 결과물이었습니다.
Sp3000

4

망막 146 136 134 130 124 107 102 바이트

A\w*i|Che|CR|ke
4
my|Be|lan|^H.*y$|lt|aw|:|Pa|Ou|Wr
1
gn.|^e|Et|^H.*S|gui|rc|lf|To
2
.*(\d).*
$1
..+
3

4 바이트를 골라 낸 @ Sp3000에게 감사합니다! 그의 대답
에서 정규식을 사용할 수있게하여 17 바이트를 골라내는 @ Mwr247에게 감사드립니다 ! 출력 값을 변경할 수 있음을 상기시켜 5 바이트를 골라내는 @ jimmy23013에게 감사드립니다!

출력은 1 문자, 2 문자, 3 문자 및 비 ASCII의 경우 각각 1, 3, 2 및 4입니다.

모든 테스트 케이스가 포함 된 버전은 여러 줄에서 작동하도록 몇 군데에서 수정되었습니다.

온라인으로 사용해보십시오!
모든 테스트 케이스와 함께 온라인으로 사용해보십시오!


@ Sp3000 아 ... 그래, 고마워! 눈치 채지 못했습니다. 너무 빨리 입력하고 나중에 제대로 확인하지 않으면 이런 일이 발생합니다. 난 수 있습니다 i?(ni|vi) -> [nv]?i지금.
daavko

1
내 JS 답변에 아주 작은 정규 표현식이 있습니다. 도움이된다면 자유롭게 사용하십시오.)
Mwr247

1
@ Mwr247 고마워, 내가 사용할 것 같아.
daavko

1
2 문자에 대해 3을 출력하여를 제거 할 수 있다고 생각합니다 (?!D).
jimmy23013

@ jimmy23013 그건 말이됩니다 ... 어떻게 든 출력 값을 움직일 수 없다는 것을 잊었습니다.
daavko

2

ES6에 javscript, 342 339 330 327 바이트

a=>{for(c of "9As4BebFr6He7Hi3LaoMu9PaiTh7Wrzb3DdAmlBi7BiiBo8BugCh6CoiColCohCocDadEa6Eb9Ec5EmbEnbExfFrnGaqGefGeoHa8HibHo5IsgIthJa6Jo9LicMalMayMoaMu9My9OplPe4PeaPhgPh8PojPoiPr8PukQujRe8RogRu10SooSocSohSpgSp6Sp8StiSu7TraVigVidWibWodWoziCodel8EtyHibLibOpvPrhSi3To".split`z`)if(~c.indexOf(a.length.toString(36)+a[0]+a[1]))return c}

9한 문자로 시작하는 긴 문자열 , 두 문자로 시작 하는 다른 긴 문자열 b, 세 번째로 시작하는 세 번째 문자열 i및 단순히 undefinedASCII가 아닌 경우를 반환합니다 .


그것을 테스트 할 곳이 있습니까? 오픈 소스에 대한 반역 행위를 ​​감지했습니다.
Zizouz212

@ Zizouz212 여기에 바이올린이 있습니다 : jsfiddle.net/fpt60bpg
SuperJedi224

그것은 단지 나입니까, 아니면 작동시키지 못합니까?
Zizouz212 1

나를 위해 일하는 것 같습니다.
SuperJedi224

1

PowerShell을 212 181 바이트

$a=-join$args[0][0,2,-1];$b="Aty,Ber,Feg,Hah,Hsy,Lww,Msy,Prg,Tes,Wis,Cgs,eeS,Ehm,Hss,Lns,Oee,Pof,Sgg,Trr,Aia,Ado,Ain,Ces,CvM,Pkr".IndexOf($a);(((1,3)[$b-ge40],4)[$b-ge76],2)[$b-lt0]

가능한 모든 항목의 첫 번째, 세 번째 및 마지막 문자를 [0,2,-1]인덱싱하면 (0 인덱싱 된 경우) 각 항목마다 고유 한 3 문자 문자열을 얻습니다. 그런 다음 단순히 문자열 기반 조회를 사용하여 어떤 것이 있는지 확인합니다.

input을 가져 와서 $args[0]위의 고유 기능을 적용하고로 저장합니다 $a.

그런 다음 조회 목록을 통해 전송 .IndexOf($a)되고 결과는에 저장됩니다 $b. 그런 다음 $b적절한 값을 출력하기 위해 의 값을 기준으로 색인을 생성하는 의사 삼항을 살펴 봅니다.

출력 1, 2, 3, 및 4한 문자, 두 문자, 각각 세 문자, ASCII가 아닌,합니다.

편집-발견 된 [0,2,-1]각 항목에 대해 고유 한 3 문자 문자열을 생성하여 31 바이트를 절약합니다.


2
"커피"가 하드 코드 된 것 같습니다. 내 두뇌도 마찬가지입니다.
dotancohen

테스트 할 수있는 곳이 있습니까?
Zizouz212 1

@ Zizouz212 모든 Windows 컴퓨터. 이 또한의 있지만 작동하지 않는 것 그리고 분명히 그것의 PASH는하지 적절한 PowerShell을.
Bob

@ Zizouz212 PowerShell은 Windows 전용이므로 의사 소유입니다. FOSS 사용자 인 경우 가상화 된 Windows (평가 버전, 개발자 버전 등) 를 설치하는 무료 방법이 있습니다 . PASH는 PowerShell과 BASH의 오픈 소스 블렌드이지만 직접적이기보다는 리버스 엔지니어링되어 있으며 PowerShell v1 기능의 약 40 % 만 구현하므로 제한적입니다.
AdmBorkBork

1

자바 스크립트 (ES6), 108 바이트

a=>[/A\w*i|Che|CR|ke/,/my|Be|lan|^H.*y$|lt|aw|:|Pa|Ou|Wr/,/gn.|^e|Et|^H.*S|gui|rc|lf|To/].map(b=>+b.test(a))

세 개의 가장 작은 그룹 (1 자, 3 자 및 비아 스키) 각각에 고유 한 정규식 일치로 구성된 배열을 만든 다음 각 배열의 데이터에 대한 테스트를 매핑합니다. 출력이 문자열 1,0,0화되면 ASCII가 아닌 0,1,0문자, 3 자, 0,0,11 자 및 0,0,02 자로 평가됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.