문자 값을 추가하는 계산기


18

직무

파일, stdin 등에서 문자열을 가져와 문자의 모든 값을 더하는 계산기를 작성하십시오.

Input
Hello World!

Output
1085

규칙

계산기는 ASCII 인코딩 만 허용하면됩니다.

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

노트

m.buettner의 의견과 관련하여 멀티 바이트 부분을 생각하지 않았습니다.
그래서 나는 그것을 보너스로 남겨 둡니다.
계산기는 작성된대로 실행해야하므로 컴파일하거나 해석하기 전에 수정할 필요가 없습니다.

보너스

Synthetica 덕분에 여기에 보너스가 하나 더 있습니다.

입력 승으로 코드를 사용할 때 출력이 가장 낮은 프로그램 은 별표를 얻습니다.

나는 그것을 완전히 수정하고 싶지 않습니다.

UTF-8로 (오른쪽) 값을 출력하기 위해 추가로 쓰면 별이 나타납니다.

내 랩탑에서 가장 빠르게 실행되는 코드 (Lenovo Yoga 13 Intel Core i5 3317U 1.7Ghz, 8GB RAM, 128GB SSD, Intel HD 4000, Windows 8)가 별을 얻습니다.

웹 코드는 IE11에서 차크라로 먼저 실행 된 다음 FireMonx 29.0.1에서 SpiderMonkey로 실행됩니다.

Linux 코드는 Raspbian과 함께 Raspberry Pi에서 실행됩니다.

테스트 문자열은 다음과 같습니다.

q/%8hnp>T%y?'wNb\},9krW &D9']K$n;l.3O+tE*$*._B^s!@k\&Cl:EO1zo8sVxEvBxCock_I+2o6 yeX*0Xq:tS^f)!!7=!tk9K<6#/E`ks(D'$z$\6Ac+MT&[s[]_Y(`<g%"w%cW'`c&q)D$0#C$QGf>?A$iawvc,}`9!('`c&q)D$0#C$QGf>?A$iawvc,}`9!(

재미있는 코딩 되세요 :)

보너스 점수

나는 이번 토요일에 07.06.14의 득점을 할 계획이며, 그 날짜 이후의 모든 답변은 보너스 포인트를 얻지 못합니다.)

테스트에 사용할거야 코드를 다운로드 할 수 있습니다 여기에 포크와 그것을 개선 주시기를 :)

보너스 때문에 약간의 업데이트, 내 노트북이 부분적으로 고장 나서 다음 주말에 할 것입니다. 정말 미안합니다 :(


3
Hello World!내 컴퓨터에서 ASCII 값으로 두 가지 언어 를 사용 하면 1085가 표시 됩니다.
Kyle Kanos

1
아마 '!'를 추가하는 것을 잊었을 것입니다. 당신이 3 초 빨라졌습니다 편집
gxtaillon

1
다운 보트를 설명해 주시겠습니까?
Knerd

3
내 생각에 downvotes는 실제로 좋은 문제가 아니라는 것을 나타냅니다.
Kyle Kanos

5
@Knerd는 주로 대부분의 언어에서 너무 사소하기 때문에 (이미 제출 한 길이에서 알 수 있듯이)
Martin Ender

답변:


10

GolfScript, 4 자

{+}*

폴드 연산자 ( *)를 사용하여 모든 문자를 더하면됩니다.

빈 문자열, 9 문자로 작업 해야하는 경우 :

{{+}*}0if

빈 문자열로 작동하는 대체 6 문자 버전을 제공 한 @PeterTaylor에게 감사합니다.

0\{+}/

빈 문자열에서는 작동하지 않습니다.
Howard

@Howard 좋은 지적; 편집했습니다.
Doorknob

0\{+}/빈 문자열 지원
Peter Taylor

1
@Doorknob 바보 같은 질문에 대해 죄송합니다. 데이터를 입력하는 방법은 무엇입니까? 나는 golfscript.apphb.com을
Knerd

2
@immibid 이상한 모양의 눈을 가진 사이클롭스. :-P (또는 GolfScript에서 "스왑 및 추가 각 얼굴"얼굴!)
도어 손잡이

7

APL (8)

+/⎕UCS⍞

설명:

  • +/ 의 합
  • ⎕UCS 유니 코드 값
  • 문자 입력

결과는 Hello World!어떻습니까?
Knerd

@Knerd : 1085. 다른 출력을 주면 정확하지 않습니다. 문자의 유니 코드 코드 포인트 값을 합산합니다.
marinus

좋아, 나는 무슨 뜻 인지 알지 못했다 ;)
Knerd

1
@knerd : 키보드에서 줄을 읽는 것을 의미합니다
marinus

무료 APL 통역사를 알고 있습니까?
Knerd

6

하스켈 36

main=interact$show.sum.map fromEnum

본문은 어디에서 읽습니까?
Knerd

stdin. $ printf "Hello World!" | ./charsum
gxtaillon 2018 년

좋아, 나는 내 Windows 컴퓨터에서 실행할 수 없습니다, 내가 집에있을 때 rpi에서 시도해 볼게요
Knerd

코드를 실행하면 "Hello World!"라는 문자열이 나타납니다. 출력으로. 이것은 나의 명령 줄입니다 :ECHO "Hello World! | ghci charsum.hs
Knerd

1
사용 interact하고 show대신 getContents>>=print:main=interact$show.sum.map fromEnum
Flonk

6

Shell + GNU 도구, 29 바이트

echo `od -An -tuC`|tr \  +|bc

stdin에서 입력을받습니다.

$ printf "%s" 'Hello World!' | ./addchars.sh 
1085
$ 

자신의 점수 : 2385


c, 52 바이트

c;main(p){while(~(p=getchar()))c+=p;printf("%d",c);}

다음과 같이 컴파일합니다 (일부 경고 생성).

gcc addchars.c -o addchars

stdin에서 입력을받습니다.

$ printf "%s" 'Hello World!' | ./addchars 
1085 $ 

자신의 점수 : 4354


이것은 좋은 대답입니다. 변수에 유형이없는 경우 GNU 컴파일러가있는 CodeBlocks는 항상 불평합니다 (예 : int c, main (int p)). 그래서 나는 이것들이 당신의 대답에 포함되어야한다고 생각합니다.
bacchusbeale

@bacchusbeale 컴파일 경고에 대한 메모를 추가했지만 이것이 c에서 골프를 칠 때 일반적으로 코스라고 생각합니다. 코드가 예상대로 컴파일되고 실행되면 경고를 무시할 수 있습니다. codegolf.stackexchange.com/a/2230/11259codegolf.stackexchange.com/a/2204/11259를 참조하십시오 . 물론 생산 코드는 완전히 다른 문제입니다.
디지털 외상

@DigitalTrauma는 모든 공간이 실제로 필요한가요? 쉘이 공백을 무시하지 않고-를 사용하여 새 매개 변수를 표시 할 수 있습니까?
Ashwin Gupta

@AshwinGupta 당신은 od명령 에 대해 이야기하고 있습니까? od -AntuC와 동일하지 않습니다 od -An -tuC.
Digital Trauma

@DigitalTrauma 그래 그래 당신은 할 수 없었습니다od-An-tuCod -An-tuC
Ashwin Gupta

6

자바 스크립트 ( ES6 ) 51

alert([...prompt(x=0)].map(y=>x+=y.charCodeAt())|x)

@nderscore 당신이 ...전에 무엇을 설명 할 수 있습니까 prompt? 이것이 새로운 ES6입니까 아니면 ES6 이전입니까?
WallyWest 2016 년

1
@WallyWest 스프레드 연산자 라고하며 ES6 초안의 일부입니다.
nderscore

@nderscore 그래서 스프레드 연산자 구문을 이해하고 있다면 [...prompt(x=0)], 기본값을 0으로 사용 하여 프롬프트를 가져 와서 그 합을 문자 배열로 적용합니다. ? 어떤 기술이와 동일 prompt(x=0).split("")합니까?
WallyWest

1
@WallyWest prompt(x=0)는 "x를 0 prompt으로 설정, x를 0으로 설정 한 값으로 호출 "을 의미합니다. 즉, 0과 같습니다.(x=0,prompt(x))
Cyoce

6

gs2 , 1 바이트

d

d물론 ( 0x64/ sum)는 표준 입력의 모든 바이트를 합산합니다.


5

파이썬 3-28 바이트

print(sum(map(ord,input())))

예제 실행 :

$ ./sum_string.py <<< 'Hello World!'
1085

표준 입력에서 입력을 가져옵니다 map의 S ord각 문자의 ASCII 값을 얻기 위해 여기에 기능을, sum그와 S print들.


닌자, 나는 똑같은 생각을했다. +1입니다.
seequ

@TheRare Python 2.7을 사용했기 때문에 더 길어졌지만 나도 그렇게했습니다. 녹슬고 있어요;)
ɐɔıʇǝɥʇuʎs

@ Synthetica 저는 항상 Python 2.7을 사용합니다. 대답은 다음과 같습니다print sum(map(ord,raw_input()))
seequ

1
@TheRare 어떤 내 정확한 대답했다)
ɐɔıʇǝɥʇuʎs

여기에서 Nitpicking을 수행하지만로 변경 map(ord,input())하여 더 나은 성능을 낼 수 있습니다 input().encode(). 바이트 객체는 여전히 합산 될 수 있으며 같은 길이를 유지합니다.
cjfaure

5

8086 어셈블리 (16 비트) -47 41 바이트

test.com파일 내용은 다음 과 같습니다.

98 01 c3 b4 01 cd 21 3c 0d 75 f5 89 c7 c6 05 24
89 d8 b1 0a 4f 31 d2 f7 f1 80 ca 30 88 15 09 c0
75 f2 89 fa b4 09 cd 21 c3

실제 작업은 처음 11 바이트에서 수행됩니다. 결과를 십진 표기법으로 인쇄하려면 나머지가 필요합니다.

소스 코드 (DOS debug.com어셈블러에 입력으로 제공 ) :

a
; input the string; count the sum
    cbw
    add bx, ax
    mov ah, 1
    int 21
    cmp al, d
    jne 100
; Prepare for output: stuff an end-of-line marker
    mov di, ax
    mov [di], byte 24
    mov ax, bx
    mov cl, a
; 114
; Divide by 10; write digits to buffer
    dec di
    xor dx, dx
    div cx
    or  dl, 30
    mov [di], dl
    or  ax, ax
    jne 114
; Print the string
    mov dx, di
    mov ah, 9
    int 21
    ret

rcx 29
n test.com
w
q

코드에 대한 참고 사항 :

  • 한 줄만 처리합니다 (최대 줄 끝 문자 13까지). 라인 끝이 없으면 정지
  • 7 비트 문자 만 지원됩니다 (그렇지 않으면 결과가 올바르지 않습니다)
  • 빈 입력의 경우 출력 0
  • 64K보다 큰 출력을 처리 할 수 ​​없습니다
  • 주소 0x10d의 명령어가 자신을 덮어 씁니다 (순수한 일치)
  • 이 프로그램을 조립하고 실행하려면 DosBox 와 같은 DOS 에뮬레이터를 사용해야 합니다

어떻게 이해할 수 있습니까? oO
Knerd

5

CJam, 3 바이트 (합계 260)

q1b

당신은 할 수 있습니다 온라인으로보십시오 .
2자를 잘라내는 데 도움을 준 jimmy23013에게 감사합니다 :)

설명:

q     read the input into a string  
1b    convert from base 1, treating each character as its numeric value

1
q1b더 짧습니다.
jimmy23013

4

Befunge98, 6 바이트, 합계 : 445

2j@.~+

모든 통역사는 괜찮습니다. 나는 CCBI를 사용 한다 .

다음과 같이 사용하십시오.

printf 'Hello World!' | ccbi calc.fg

멀티 바이트 문자 및 빈 문자열에서 작동합니다.

설명

  • 2j-다음 두 가지 지침 위로 건너 뛰십시오 ( @.-아래 참조).
  • ~ -스택에 다음 문자를 넣습니다
  • +-새 문자의 코드 값을 현재 합계에 추가하십시오. 명령 포인터가 처음으로 래핑되고 사이클이 반복됩니다.
  • ~EOF를이 포인터의 방향과 "숨겨진"두 가지를 역수 만남 명령이 실행된다 :
  • . -합계를 인쇄
  • @ -종료

4

루비, 13 12 바이트

p~9+gets.sum

sum문자열의 문자를 합하는 내장 함수입니다. gets의 반환 값 끝에 줄 바꿈을 설명하기 위해 10을 뺍니다 .

(4 년 후 is ... 로 변경 x-10하기 위해 편집 했지만, ~9+x값 과 인수 사이의 공백을 제거하여 바이트를 절약 할 수 있습니다.)~9-10p


루비에 전혀 익숙하지 않습니다. 코드를 설명해 주시겠습니까?
Knerd

1
gets는 개행을 읽을 때까지 표준에서 문자열을 읽는 함수이며 String을 반환합니다. String # sum은 각 문자의 값을 추가하여 Fixnum을 리턴합니다. Fixnum #-은 단지 빼기입니다.p행에 무언가의 디버그 값을 출력하는 방법입니다.
Kyle Smith

2

PowerShell-27

[char[]]$args[0]|measure -s

> SumChars.ps1 'Hello World!'

Count    : 12
Average  : 
Sum      : 1085
Maximum  : 
Minimum  : 
Property : 

[char[]]"$args"|measure -s$ arg 항목이 하나만있는 한 사용 하는 경우 26 .
TessellatingHeckler

2

줄리아- 11 7 자, 결과 합계 = 943 536

질문은 입력이 원하는 소스에서 나올 수 있기 때문에 기존 변수를 선택합니다. A평가하려는 문자열 이 포함되어 있다고 가정하십시오 .

sum(A)1

결과적으로 문자열을 직접 합할 수 있으며 평가됩니다 ... 그러나 문자 합산이 처리되는 방식으로 인해 문자열에 홀수의 문자가 있으면 문자를 출력합니다. 어떤 종류의 정수가 아니라. 따라서 우리는 1을 곱하여 int로 캐스트합니다.

구 버전:

sum(A.data)

16 진수 표기법으로 출력합니다 (합이 256 미만인 경우 0x??, 그렇지 않으면 8 바이트 임 ).0x???????? 임). 결과가 사용되는 코드에서 사용되면 다른 숫자와 같이 작동합니다 (Julia가 부호없는 정수를 표시하는 방식입니다).

결과 값을 10 진수로 보려면 위와 같이를로 묶 int()습니다.int(sum(A.data)) .

Julia를 모르는 사람은 A변수에 다른 할당을하는 것과 동일한 방식으로 할당합니다. 그래서, A="Hello World!"A="sum(n.data)". 입력 "하거나 '문자 를 입력 해야하는 경우 여러 옵션이 있으며 가장 쉬운 옵션은 Julia String 리터럴의 뉘앙스에 대한 지식이 필요하지 않기 때문에 A=readline()STDIN에 문자열을 입력하는 것입니다 (원 ' 그래도 개행을 처리하지 마십시오). 줄 바꿈의 이스케이프 시퀀스는 평소 \n와 같지만 readline ()과 함께 사용할 수 있다고 생각하지 않습니다.


빌어 먹을 영리한 솔루션 +1 ^^ 테스트 값을 변수에 할당하는 방법을 게시 할 수 n있습니까? 나는 줄리아를 전혀 모른다;)
Knerd

@ Knerd-편집했습니다. 희망이 있습니다.
Glen O

감사합니다 나는 나중에 그것을 테스트하려고합니다 :)
Knerd

작은 변화 -로 전환 변수 n로는 A988 내지 943 얻어진 합 줄일
글렌 O

OK, 훨씬 더 큰 변화-나는 문자를 추출하지 않고 문자열을 직접 합할 수 있음을 깨달았습니다 .data. 그러나 문자이기 때문에 홀수의 문자에 대한 문자 결과를 생성합니다. 1을 곱하면 문제가 해결됩니다.
Glen O

2

K5, 2 바이트 (기능), 5 바이트 (프로그램)

함수

+/

프로그램

+/0:`

이 챌린지가 게시되기 전후에 K5가 생성되었는지 확실하지 않습니다. 어쨌든 ... 이것은 굉장합니다 !!

K5에서 문자열에 대한 산술 연산을 수행하면 문자를 ASCII 코드로 변환합니다. 그래서 이것은 합 연산자를 사용합니다 +/(실제로 + + 이상입니다).


2

Matlab / Octave 4 바이트 (보너스 : 405)

이 코드는 작업을 수행하는 익명 함수이며 문자열을 가져와 필요한 숫자를 반환합니다.

@sum

나는 gs2대답 에 대해 확신하지 못하지만 적어도 Julia 대답과 동일한 접근 방식으로을 작성해야합니다 sum(A). 나는 sum혼자서도 좋지 않다고 생각 합니다 (유효한 코드조차도 아닙니다 =).
flawr

2

이동 (59 자)

func d(s string)(t int){for _,x:=range s{t+=int(x)};return}

Go의 모든 것은 기본적으로 utf8입니다. `델리 미터로 실행되는 코드 텍스트는 5399의 출력을 제공합니다.


나는 math.Sum함께 사용 map하거나 이와 유사한 것을 사용 하지 않는다는 것에 놀랐다
cat


2

Gol> <> , 4 바이트 (비경쟁)

참고 :이 언어는 도전보다 새로운 언어입니다.

iEh+

'골프 피쉬'처럼 발음 되나요?
고양이

@cat 네, 골프입니다.
randomra

@randomra는 "gol • fish"또는 "golf • ish"입니까? 골이있는 물고기 나 골프와 같은 물고기처럼?
Cyoce

2

자바 스크립트 ES6, 41 바이트

_=>[..._].map(y=>x+=y.charCodeAt(),x=0)|x

2 바이트 절약 된 @ETHproductions 덕분에!


1
어때요 _=>[..._].map(y=>x+=y.charCodeAt(),x=0)|x?
ETHproductions

2

파이썬, 24 바이트

이것은 현재까지 파이썬 솔루션보다 짧습니다. 이름없는 익명 함수는 문자열을 인수로 사용하고 합계를 반환합니다.

lambda x:sum(x.encode())

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

먼저 객체 x.encode()로 변환 bytes합니다. 그런 다음 sum문자 코드 값을 추가합니다. 이것은 람다 함수이므로 값이 암시 적으로 반환됩니다.

또한 lambda x:sum(map(ord,x))동일한 바이트 수를 가질 수 있습니다 .



1

C 32

f(char*s){return*s?*s+f(s+1):0;}

main(int argc,char **argv){return(argc?main(0,&(argv[1])):(**argv?**argv+main(0,argv)+((*argv)++?0:0):0));}(107 문자) 비록 어떤 이유로 든 첫 번째 문자를 무시합니다. 또한 POSIX 종료 코드는 8 비트에 불과합니다. bash에서 echo $?.

규칙은 약간 넓어서 main을 사용하지 않았습니다. 좀 더 짧은 작업을
하겠습니다

@bebe 규칙을 약간 변경하여 필요한 것을 명확히하기 위해;)
Knerd

1

D (기능 : 60)

확실히 승리하지 못했습니다.

완전한 프로그램 일 필요는 없다고 가정

int c(string i){int s;foreach(e;i){s+=cast(int)e;}return s;}

그렇게 불러

void main ()
{
    import std.stdio;
    auto hw = "Hello World!";
    writefln("%s = %d", hw, c(hw));
}

산출:

Hello World! = 1085

D (프로그램 : 133)

줄 바꿈을 계산하지 않습니다.

void main(){import std.algorithm,std.stdio;stdin.byLine.map!((a){int s;foreach(e;a){s+=cast(int)e;}return s;}).reduce!"a+b".writeln;}

가독성을 높이기 위해 더 많은 공백과 더 긴 변수 이름

void main () {
    import std.algorithm, std.stdio;

    stdin.byLine
        .map!((line) {
                int sum;
                foreach (ch; line) {
                    sum += cast(int)ch;
                }
                return sum;
            })
        .reduce!"a+b"
        .writeln;
}

입력에서 줄 바꿈을 지원하기 byLine(KeepTerminator.yes)위해 20 자에 대한 올바른 방법을 사용 하거나 '\n'내 줄에 추가하여 한 줄 입력을 중단하고 CRLF로 인해 Windows에서 18 자에 대해 잘못된 합계를 줄 수 있습니다.


당신이 이길 수 없다고 게시하더라도 +1
Knerd

1

자바 스크립트 (ES6) 54 58

alert([].reduce.call(prompt(),(v,c)=>v+c.charCodeAt(0),0))

nderscore 덕분에 54 바이트 :

alert([...prompt()].reduce((v,c)=>v+c.charCodeAt(),0))

잘 작동합니다. es6fiddle.net
Knerd

Firefox를 사용할 수 있습니다;)
core1024

1
나는 그렇게 일하고 있었다 : D
Knerd

1
54 : alert([...prompt()].reduce((v,c)=>v+c.charCodeAt(),0))
nderscore

1
지금 51로 alert([...prompt(x=0)].map(y=>x+=y.charCodeAt())|x)
줄였습니다

1

델파이 ( 87 83)

function x(s:string):int64;var c:char;begin x:=0;for c in s do x:=result+ord(c)end;

언 골프

function x(s:string):int64;
var
  c:char;
begin
  x:=0;
  for c in s do
    x:=result+ord(c)
end;

char 값을 결과에 S추가하는 과정을 반복 ord합니다. 여기서 x == 결과

편집 :

int64로 전환하고 합계에 더하기를 변경하여 4자를 저장했습니다.


무료 버전의 Delphi (여기에 버전을 삽입하십시오)가 있습니까?
Knerd

흠 .. 정말 미안하지 않아. 그러나 나는 골퍼가없는 곳을 설명하고 원하는 경우 테스트 케이스를 수행 할 수 있습니다. Free pascal은 거의 같은 문법을 가지고 있으므로 그렇게 할 수 있습니다.
Teun Pronk

좋아, 확인해 볼게
Knerd

1

k (8 문자)

+/6h$0:0

Q 번역

sum `int$read0 0

보너스 가치 :

k)+/6h$0:0
+/6h$0:0
438i

1

J (7)

너무 가깝지만 아직까지는 ... 아, 7은 충분합니다.이 답변은 빈 문자열을 허용하기 때문입니다. (구문의 입력으로 변수 사용법을 기반으로합니다 from a file, stdin or whatever)

+/a.i.b

설명:

a.

┌┬┐├┼┤└┴┘│─ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������

a. 모든 ASCII 문자를 포함합니다.

   'people' i. 'pow'
0 2 6

x i. ypython 's와 유사합니다 [x.index(i) for i in y].

   a. i. 'Hello World!'
72 101 108 108 111 32 87 111 114 108 100 33

따라서 ASCII 값의 배열 a. i. y로 변환y

   +/1 2 3 4 5 6
21

+/같다 sum: +/1 2 3 4 5 6의미1+2+3+4+5+6

   +/ a. i. 'Hello World!'
1085

행동하는 모든 것

보너스 :

   b=:'+/a.i.b'
   +/a.i.b
482

나쁘지 않아요.

   b=:'0\{+}/'
   +/a.i.b
478

글쎄요

   A=:'+/a.i.A'
   +/a.i.A
449

감사합니다 @algorithmshark

    A=:'+/3 u:A'
    +/3 u:A
413

감사합니다 @marinus


훌륭한 설명을 위해 +1. 하나의 작은 질문, 어디서 J를 가장 잘 실행할 수 있습니까?
Knerd

1
@ Knerd 제조사 ( jsoftware.com )에서 온라인 통역사를 모른다고 생각합니다. (재미있는 사실은 : 그들은 안드로이드에 대한 공식 콘솔 있습니다.) jsoftware.com/download/j801는
ɐɔıʇǝɥʇuʎs

@Synthectica 멋지다 : D 이제 안드로이드 스마트 폰이 필요해 : P
Knerd

이름 b을 바꾸면 A449 점을 얻었습니다.
algorithmshark

@algorithmshark 아, 맞아! 나는 지금 그 별을 주장 것)
ɐɔıʇǝɥʇuʎs

1

R, 35 자 (3086의 합) 26 바이트 (2305의 합)

sum(utf8ToInt(readline()))

readline()하나 개의 문자 이상 scan(,"")하지만,scan 기본적으로 공간의 입력을 분할합니다.

용법:

> sum(utf8ToInt(readline()))
Hello World!
[1] 1085
> sum(utf8ToInt(readline()))
sum(utf8ToInt(readline()))
[1] 2305
> sum(utf8ToInt(readline()))
q/%8hnp>T%y?'wNb\},9krW &D9']K$n;l.3O+tE*$*._B^s!@k\&Cl:EO1zo8sVxEvBxCock_I+2o6 yeX*0Xq:tS^f)!!7=!tk9K<6#/E`ks(D'$z$\6Ac+MT&[s[]_Y(`<g%"w%cW'`c&q)D$0#C$QGf>?A$iawvc,}`9!('`c&q)D$0#C$QGf>?A$iawvc,}`9!(
[1] 14835

1

apt , 6 바이트 (비경쟁)

이 답변이 게시 된 후 Japt이 생성되었으므로이 답변은 경쟁이 아닙니다.

U¬mc x

꽤 간단합니다. 온라인으로 사용해보십시오!

작동 원리

U¬mc x  // Implicit: U = input string
U¬      // Split U into chars.
  mc    // Map each item to its char code.
     x  // Sum.
        // Implicit: output last expression

호기심 때문에 왜 ¬어떤 종류의 부정에 배정하지 않았 습니까?
코너 O'Brien

@ CᴏɴᴏʀO'Bʀɪᴇɴ 내가 서둘러서 미리 계획하지 않고 필요에 따라 그들을 할당했기 때문에. 한 줄의 코드를 변경하여 롤아웃 준비가 더 잘되는 세트가 있지만 거의 모든 기존 답변이 무효화되기 때문에 그것에 대해 우려됩니다.
ETHproductions

쉬운 수정입니다. 헤더에 조건을 추가합니다 (예 :) url/interpreter.html#new=1. 그것 없이는 오래된 문자 세트를 사용하고, 그것 없이는 새로운 문자 세트를 사용합니다.
Conor O'Brien

@ CᴏɴᴏʀO'Bʀɪᴇɴ 고마워, 나는 그것을 고려할 것이다.
ETHproductions

1

PlatyPar , 2 바이트 (비경쟁)

us

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

u 입력 문자열에 모든 문자 코드 값의 배열을 생성하고 s 해당 합계를 찾습니다.

자체적으로 실행되면 232 .

이것은 문자열을 문자 코드 배열로 변환하는 데 바이트를 사용한다는 점을 제외하면 Conor의 Jolf answer 와 비슷합니다 (Jolf에 암시적임). 바이트를 사용하여 입력을 검색합니다 (PlatyPar에 암시적임).

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