직원 중 일부가 자물쇠 열쇠를 뜯어 교체하기에 너무 비쌉니다. 작업을 바로 잡을 수있는 가장 짧은 프로그램을 만들어 그들을 도와주세요! 주어진 문자열의 각 문자를 대문자에서 소문자로 또는 그 반대로 변환하기 만하면됩니다.
당신은 또한 크리스마스에 매우 흥분합니다! 따라서 Christmas
(대소 문자를 구분하지 않는) 시퀀스 내에있는 문자를 수정하지 않는 작은 "버그"를 남겨 두어야 합니다.
입력
입력을 위해 0x20과 0x7e ( -
~
) 사이의 줄 바꿈과 ASCII가 포함될 수있는 단일 문자열 (또는 바이트 배열 )을 사용합니다. 캐리지 리턴 또는 문자열에 다른 문자가 있을지 걱정할 필요가 없습니다.
산출
출력에는 대문자와 소문자가 바뀐 제공된 문자열 만 포함해야합니다 (물론 크리스마스 버그!). 최대 1 개의 추가 공백이 포함될 수 있습니다.
크리스마스 버그
이를 예로 들어 설명하겠습니다.
Input: i CAN HARDLY WORK LIKE THIS please GET ME A NEW KEYBOARD FOR cHRISTMAS
Output: I Can HaRdly work lIke thiS PLEASE geT Me A new keyboard for ChriStmas
can
크리스마스의 첫 글자 인 "c"를 포함하므로 변경되지 않습니다. 다음 문자 인 Christmas
"h"는 hardly
( "r"도 포함) 안에 있으므로 변경 Christmas
되지 않습니다. 코드 자체에 도달 할 때까지 실제로는 한 문자 만 변경됩니다. "c"가 아닌 "s"
시퀀스가 발견되면 "c"에서 다시 시작하고 Christmas
한 번 더 반복을 시작해야합니다 . 따라서 ChristmasChristmas
변경되지 않습니다.
테스트 사례
Input: Hello World!
Output: hELLO wORLD!
Input: I like pie :)
Output: i LIKE PIE :)
Input: hELP my KeYboarD
iS BROKEN
Output: Help MY kEyBOARd
Is broken
Input: cHRISTMAS IS COMING REALLY SOON!
Output: cHRISTMAS is Coming really soon!
Input: C is the first letter in cHRISTMAS
Output: C IS ThE FIrST LETTER iN ChriSTMAS
우승자
이것은 코드 골프 이므로 최단 답변이 이깁니다!
Christmas
순차적으로 찾습니다 , 그래서 "h"는 "c"를 찾은 다음 "h", "r"등을 찾을 때까지 무시됩니다.