Karl Coder
면접 대비시간 제한1초메모리 제한1024 MB
0이 아닌 문자열이 앞에 저장된 2N 크기 버퍼에서 0 바이트 영역의 한 위치씩만 확인해 문자열 길이 N을 찾는다.
문제
Karl is an aspiring C programmer, and is excited by the risks and rewards of low-level manual memory management. In the program he currently develops, he stores a string containing non-zero bytes into a buffer named "buf". By mistake he accidentally made the buffer bytes in size. The last bytes of the buffer consists of only zero-bytes.
Now Karl needs to know the value , the size of the string, in a separate part of the program. Traditionally you would recover the length of a string using the strlen-function, which reports the position of the first zero-byte in the provided buffer using a linear scan. However, Karl finds that this is much too slow, and that it defeats the advantage of using C in the first place. Can you help Karl efficiently recover without crashing his program?

The contents of the buffer in sample interaction 3 are shown here.