알파벳으로 보는 100점 짜리 인생

kall의 이미지

얼마전 진대제장관이 얘기했다던 알파벳으로 보는 100점 인생에 관한 얘기를 보다가 한번 만들어 봤습니다 :)

PHP

function convert_num($str)
{
    $ret = 0;
    $str = strtolower($str);
    for ( $i = 0; $i < strlen($str); $i++)
    {
        $value = ord($str[$i])-96;
        if ( 0 < $value and $value < 27 )
            $ret += $value;
    }
    return $ret;
}

Python

def convert_num(str):
    ret = 0
    arr = " abcdefghijklmnopqrstuvwxyz"
    str = str.lower()
    for i in str:
        try:
            ret += arr.index(i)
        except:
            pass
    return ret

몇단어 해봤더니 재밌군요 :)

>>> f.convert_num('batman')
51

배트맨..실패한 인생이었군요 :(
>>> f.convert_num('spiderman')
99

가난에 쩌들던 스파이더맨..성공한 인생이고..
>>> f.convert_num('superman')
107

역시 수퍼맨..super답게 100을 넘어버렸습니다. ;;
>>> f.convert_num('wonderwoman')
145

..역시..여성 상위 시대인듯.. :wink:
Forums: 
ed.netdiver의 이미지

아아, 무려 10여분에 걸쳐 wonderwoman을 잠재울, 전화번호
끝자락에 이름긴 영웅들의 이름을 찾아봤지만, 끝내 실패했습니다.ㅠ.ㅠ;
x맨을 떠올리는 순간 이거닷!, 했으나, 4글자.ㅠ.ㅠ;

import string
def convert_num(str):
    ret = 0
    for i in str.lower():
        try:
            ret += ([' '] + list(string.lowercase)).index(i)
        except:
            pass
    return ret

두줄 줄여봤습니다.^^;

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

doldori의 이미지

mr.incredible : 112
elastigirl : 112

평등한 부부로군요. ^^;

Rica의 이미지

C입니다. gcc -Wall에서 워닝 한 개 나지만...

#include <ctype.h>
int main(int c,char*v[],char*p)
{
	return v?(c==2?main(0,0,v[1]):0):*p?main(c+(isalpha(*p)?toupper(*p)-'A'+1:0),0,p+1):c;
}

Administrator@sjlee:~$ gcc -Wall jin.c -ojin
jin.c:5: warning: third argument of `main' should probably be `char **'
Administrator@sjlee:~$ ./jin knowledge; echo $?
96
Administrator@sjlee:~$ ./jin attitude; echo $?
100
Administrator@sjlee:~$ ./jin musuko; echo $?
100
Administrator@sjlee:~$

물론, 평소엔 이렇게 안 짭니다 :twisted:

ed.netdiver의 이미지

크헉, 다섯줄이당^^; main을 재귀하고, 3항연산자로 끝을 낸 저 센스!!^^;
오옷...main param을 저렇게도 쓸수 있군요...
perl의 외줄신공이 나오지 않을지...^^

--------------------------------------------------------------------------------
\(´∇`)ノ \(´∇`)ノ \(´∇`)ノ \(´∇`)ノ
def ed():neTdiVeR in range(thEeArTh)

익명 사용자의 이미지

$ python -c "print sum(ord(ch)-96 for ch in 'batman')"
51

$ ruby -e "puts eval('batman'.gsub(//, '-96+?')[0...-5])"
51
Bini의 이미지

clean system

module ex
import StdEnv

conv :== \s -> sum [toInt (toLower e - '`') \\ e<-:s | isAlpha e]

Start :: *World -> *File
Start world
	# (f, w) = stdio world
	# (s, f) = freadline f
	= fwritei (conv s) f
lifthrasiir의 이미지

jindaeje=lambda s:sum([ord(c)-64 for c in s.upper()if'@'<c<'['])

파이썬 버전이고, 2.4 이하의 버전에서도 돌아 갑니다 :) lambda 부분의 길이는 55바이트입니다. 2.4에서만 돌아 가는 버전은 2바이트 더 작습니다.

jindaeje=lambda s:sum(ord(c)-64 for c in s.upper()if'@'<c<'[')

이런 종류의 코드 만드시는 분들께서 간과하시는 것이 알파벳 말고 다른 글자가 들어 오는 경우를 처리하지 못 한다는 것이죠 :) 예외 처리를 잘 합시다아.

- 토끼군

jj의 이미지

지인중에 누군가 사전을 입력으로 100점짜리 단어중 재밌는걸 뽑아봤다고 합니다.

Quote:

adulthood 성인기
afghanistan 아프가니스탄
africanist
alienation 소외감, 정신 이상 <== ㅋㅋㅋ
analysis
attitude 태도
battle line 전선
boycott 보이콧
brain fever 뇌염
cacophony 불협화음 <===
calvities 대머리
chimpanzee 침팬지
dogmatize 독단적인 주장을 하다
emasculate 거세하다 <=== 뜨아...
immature 미숙한 <===
inefficient 무능한 <==
innovate 혁신하다.. <=== 오오...
intellect 지성, 이해력
interfere (남의 일을) 방해하다 <==
long-lived 장수하는 <=== 그렇군.
pumpkin 호박
pussy <== 제일 황당했음.. 허허허...
stress 스트레스

--
Life is short. damn short...

aero의 이미지

알파벳은 무조건 소문자로 바꾸고 그 이외는 제거하고
점수를 매기는 함수입니다.

#!/usr/bin/perl

print grade_word("Spider man");
print "\n";
print grade_word("spiderman");

sub grade_word
{
    my $grade = 0;
    my $word = lc($_[0]);
    $word =~ tr/^a-z//cd;
    $grade+=($_-96) for (unpack("C*",$word));
    return $grade;
}

결과

99
99
익명 사용자의 이미지

무한포옹(Muhanpong) 돌려보았습니다.
109
무단포옹(Mudanpong) 돌려보았습니다.
105

별차이 없네요.

막 살아도 되는 걸까요?

swirlpotato의 이미지

function convert_num($str) 
{ 
    $ret = 0; 
    $str = strtolower($str); 

    if ( strcmp($str, 'gamja9e') == 0 ) 
        return 9999;

    for ( $i = 0; $i < strlen($str); $i++) 
    { 
        $value = ord($str[$i])-96; 
        if ( 0 < $value and $value < 27 ) 
            $ret += $value; 
    } 
    return $ret; 
}

-_-;;

까뮤의 이미지

흐흐.. 100점짜리 예라면..

cyworld -_-... orz

me.brain.flush()

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.