首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个表情有多开心?(2.0)

这个表情有多开心?(2.0)
EN

Code Golf用户
提问于 2020-09-30 10:05:11
回答 1查看 1.9K关注 0票数 18

OG柱

任务

在这个挑战中,你将得到一个字符串表情,你的任务将是输出它的快乐。

怎么做?

表情符号总是有眼睛和嘴巴。它还可以包括眉毛和鼻子。每个部分都会影响整个幸福等级,即各部分的幸福等级之和。表情符号可以翻转,颠倒零件的顺序。以下是不同可能的部分和它们的幸福等级:

代码语言:javascript
复制
Symbol    Flipped symbol    Happiness rating

Eyebrows:

<None>    <None>            0
<         >                -2
[         ]                -1
|         |                 0
]         [                 1
>         <                 2

Eyes:

:         :                 0
;         ;                 1

Noses:

^         ^                 0
-         -                 0

Mouth

<         >                -3
(         )                -2
[         ]                -1
|         |                 0
]         [                 1
)         (                 2
>         <                 3

测试用例:

代码语言:javascript
复制
In        Out

:)        2
<:(      -4
|:-|      0
>;^)      5
(;        3
>-:<     -1
(:|       2

规则

  1. 你一定能处理翻转表情。如果输入可以两种方式解释(例如,<:<),则可以输出任何可能的结果。
  2. 适用标准漏洞和I/O规则。
  3. 这是密码-高尔夫,所以最短的代码获胜。
EN

回答 1

Code Golf用户

发布于 2020-09-30 17:56:01

Wolfram语言(数学),213个字节

代码语言:javascript
复制
Association[Thread[{""<>#,""<>(Reverse@#/.(Rule@@@Characters@"<>><())([]]["~Partition~2))}&[StringTake[" <[|]>:; ^-<([|])>",List/@{##}+{0,6,8,11}]~StringDelete~" "]->If[#<2,4,#]+#2+#4-9]&@@@Tuples@Range@{6,2,3,7}]

在网上试试! --这是一个计算为Association对象的表达式。它以一个字符串作为输入,并返回一个整数作为输出。逻辑非常简单:它生成所有可能的表情符号并对其进行评级,然后返回给定表情符号的评级。

票数 1
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/211834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档