아직 자체 디자인이없는 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를 사용할 수 있습니다.
가장 짧은 코드가 승리합니다.
답변
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 미만임을 나타냅니다. 출력은 0
1 자, 1
2 자, 2
3 자 및 3
비 ASCII입니다.
이 프로그램은 단순히 입력 문자열을 기본 22 숫자로 변환하고, 기본 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입니다.
모든 테스트 케이스가 포함 된 버전은 여러 줄에서 작동하도록 몇 군데에서 수정되었습니다.
답변
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
및 단순히 undefined
ASCII가 아닌 경우를 반환합니다 .
답변
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 바이트를 절약합니다.
답변
자바 스크립트 (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,1
1 자 및 0,0,0
2 자로 평가됩니다.