소개
산타가 처리하기에는 이름이 너무 많아서 도움이 필요합니다! 그는 당신이 프로그램이나 출력하는 기능, 기록해야 할 nice
, naughty
, very naughty
또는 very very naughty
. 누군가가 얼마나 좋고 나쁜지 결정하기 위해 산타는 알고리즘을 개발했습니다.
우선, 모든 문자를 추가하여 이름에서 숫자를 얻습니다 ( 공백은 무시 됨 ). 예를 들면 다음과 같습니다.
Doorknob =
D = 4
o = 15
o = 15
r = 18
k = 11
n = 14
o = 15
b = 2
4 + 15 + 15 + 18 + 11 + 14 + 15 + 2 = 94
제수의 수가 이름의 길이와 같으면 그 사람이 고려됩니다 nice
. 이것은 프로그램이 출력해야한다는 것을 의미합니다 [name] has been nice
. 여기에 제수는 다음과 같습니다 94
.
Divisors of 94: 1, 2, 47, 94
있다 4
약수,하지만 이름이 길이 8
( 공백 포함 ). 결론 Doorknob
은 좋지 않았습니다. 그래서 우리는 여행을 계속합니다 :
산타는 새로운 시퀀스 인 크리스마스 번호를 개발했다 . 먼저 다음과 같은 크리스마스 트리를 살펴 보겠습니다.
n = 1 n = 2 n = 3 n = 4
*
***
*****
*******
*********
_ * ***
| *** *****
| ***** *******
* | ******* *********
* *** | *** ***
*** ***** n*n | ***** *****
* *** | ******* *******
***** | *** *********
* | ***** ***
|_******* *****
* *******
|_____| *********
2n+1 *
5 18 47 98
별표의 양은 크리스마스 수를 결정합니다. 순서는 다음과 같습니다 5, 18, 47, 98, 177, ...
..
여기에서 우리는 그것이 94
크리스마스 번호가 아니라는 결론을 내릴 수 있습니다. 그것은 Doorknob
단지 장난 꾸러기 만이 아니라는 것을 의미합니다 .
매우 장난 꾸러기 ( string ) :
이를 위해 우리 Doorknob
는 높이기 사다리 줄 인지 알아야 합니다 . 이것은와 이름으로 문자에 의해 결정된다 A = 1
, B = 2
, C = 3
, 등 :
먼저 첫 글자 인을 살펴 보겠습니다 D
. 이것은 가치가 4
있습니다. 이것이 우리의 출발점입니다. 다음 글자는 o
입니다. 여기에는 15
이전 값보다 높은 값이 있으므로 사다리에서 한 단계 더 올라갑니다. 다음 값은 o
입니다. 이것은 동일하므로 우리는 아무것도하지 않습니다. 다음 값이 현재 값보다 높으면 한 단계 더 올라갑니다. 다음 값이 현재 값보다 낮 으면 스터가 낮아집니다. 동일하면 동일한 단계를 계속 수행합니다. 이에 대한 시각 Doorknob
, Martin Buttner
및 Alex A
:
O
/ \
R N B
/ \ /
O-O K T N U L X
/ / \ / \ / \ / \ / \
D M R I B T-T A E A
\ / \
A N R
\ /
E
당신은 Doorknob
시작 위치보다 높은 끝을 볼 수 있습니다 . 그래서 Doorknob has been very naughty
. Martin Buttner
그리고 Alex A
시작점 이상하지 않았다. 그래서 그들은 둘 다 very very naughty
입니다.
테스트 사례
Input: Doorknob
Output: Doorknob has been very naughty
Input: Martin Buttner
Output: Martin Buttner has been very very naughty
Input: Jakube
Output: Jakube has been nice
Input: B
Output: B has been very very naughty
규칙
- 적어도 하나의 문자로 구성된 입력을받는 프로그램이나 기능을 제공해야합니다.
- 입력은 대문자 , 소문자 및 공백으로 구성 됩니다. 입력 길이를 제외하고는 프로세스 중에 공백이 무시됩니다.
- 이것은 code-golf 이므로 바이트 수가 가장 적은 제출이 승리합니다!
n^3 + 2n^2 + 2
btw 로 생성됩니다 .
ZZZ...Z = 26 * 99 = 2574
. 즉,를 포함하여 크리스마스 번호 만 확인하면됩니다 n=13
. (다른 골퍼들에게 유용한 정보)
Santa has been very very naughty
. 무엇을 기다립니다?
Santa Claus has been very naughty
. 세인트 닉, 세인트 니콜라스, 세인트 닉, 세인트 니콜라스, 크리스 크 링글, 아버지 성탄절, 페레 노엘 및 그의 다른 별명도 시도해보십시오. 는 "좋은"사람이 많은 별칭을 설정해야하는 이유 이미 꽤 의심하지만 ...