이 xkcd에서 영감을 얻은
당신은 Shazam을 위해 일하고 그들은 당신을위한 프로젝트를 가지고 있습니다. 일부 고객은 앱이 휴대 전화에서 너무 많은 공간을 차지한다고 불평하고 있으므로 앱의 라이트 버전을 코딩하기를 원합니다. 불행히도 기존 코드는 "na"라는 단어 만 이해할 수 있으며 곧 배송해야합니다. 괜찮습니다. 우리는 우리가 가진 것에 최선을 다할 것입니다.
도전
사용자 입력을 받거나 명령 줄 인수를 사용하여 노래의 제목과 아티스트를 인쇄하는 전체 프로그램을 작성해야합니다. 고객이 프로그램 크기에 대해 불평하는 문제를 해결하려고하므로 코드는 가능한 짧아야합니다. 입력은 전적으로 na로 구성된 문자열이며, 그 사이에 공백이 하나 있습니다. 소문자 / 대문자는 임의적입니다. 이것은 유효한 입력으로 간주됩니다 : Na Na nA na NA
이것은 유효하지 않은 입력입니다 : nah nah NA naNa banana
어떤 노래가 재생되고 있는지를 결정하고 정확하게이 형식으로 인쇄해야합니다 :
Song: <trackname>
Artist: <artist>
입력이 정확히 8 na 인 경우 두 개의 개별 노래와 일치하므로 두 가지 모두를 인쇄해야합니다.
Song: Batman Theme
Artist: Neal Hefti
과
Song: Na Na Hey Hey Kiss Him Goodbye
Artist: Steam
입력 값이 정확히 10 na 인 경우 다음을 인쇄해야합니다.
Song: Katamari Damacy
Artist: Yuu Miyake
입력 값이 정확히 11 na 인 경우 다음을 인쇄해야합니다.
Song: Hey Jude
Artist: The Beatles
입력 값이 12 이상인 경우 인쇄해야합니다
Song: Land Of 1000 Dances
Artist: Wilson Pickett
마지막으로, 입력이 유효하지 않거나 8 na보다 작거나 단어가 "na"가 아닌 경우 프로그램이 음악을 이해하지 못합니다. 논리적으로 볼 수있는 다른 노래는 하나뿐입니다. 다음을 인쇄해야합니다.
Song: Africa
Artist: Toto
평소와 같이 표준 허점이 적용되고 바이트 단위의 최단 답변이 이깁니다.
na
s 아닙니까? 방금 들어 보았고 (노트 길이 측면에서) quarter quarter quarter quarter / eighth sixteenth sixteenth quarter-quarter-quarter / eighth sixteenth quarter-quarter-quarter
12 na
초 라고 생각했습니다 .
onnnnnnnnne-one-three-one-a-two-threeeeeeeeeee-one-a-two-threeeeeeee-hey-jude
확실히 11
na na / na na / na na / na na
x2 batman
입니다. 나는 두 번째로 만화를 보았습니다.