첫 번째 바이트가 주어진 UTF-8 바이트 시퀀스의 길이를 결정하십시오. 다음 표는 가능한 각 길이에 매핑되는 범위를 보여줍니다.
Range Length
--------- ------
0x00-0x7F 1
0xC2-0xDF 2
0xE0-0xEF 3
0xF0-0xF4 4
표의 간격에 대한 참고 사항 : 0x80-0xBF는 연속 바이트이며 0xC0-0xC1은 너무 길고 잘못된 시퀀스를 시작하며 0xF5-0xFF는 유니 코드 최대 값을 초과하는 코드 포인트를 생성합니다.
UTF-8 바이트 시퀀스의 첫 번째 바이트를 입력으로 사용하고 시퀀스의 길이를 출력하거나 리턴하는 프로그램 또는 함수를 작성하십시오. I / O는 유연합니다. 예를 들어, 입력은 숫자, 8 비트 문자 또는 1 문자 문자열 일 수 있습니다. 첫 번째 바이트가 유효한 시퀀스의 일부이고 위의 범위 중 하나에 속한다고 가정 할 수 있습니다.
이것은 코드 골프입니다. 바이트 단위의 최단 답변이 이깁니다.
테스트 사례
0x00 => 1
0x41 => 1
0x7F => 1
0xC2 => 2
0xDF => 2
0xE0 => 3
0xEF => 3
0xF0 => 4
0xF4 => 4