문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
두 개의 특별한 문자가 있다.
0으로 끝나는 이진 배열 bits가 주어졌을 때, 마지막 문자가 반드시 1비트 문자여야 한다면 true를 반환해라.
#1
Input: bits = [1, 0, 0]
Output: true
Explanation: 이것을 해독하는 유일한 방법은 2비트 문자와 1비트 문자를 이용하는 것이다.
따라서 마지막 문자는 1비트 문자이다.
#2
Input: bits = [1, 1, 1, 0]
Output: false
Explanation: 이것을 해독하는 유일한 방법은 2비트 문자 두 개를 사용하는 것이다.
따라서 마지막 문자는 1비트 문자가 아니다.
class Solution {
public boolean isOneBitCharacter(int[] bits) {
int i = bits.length - 2;
while(i >= 0 && bits[i] > 0){
i--;
}
return (bits.length - i) % 2 == 0;
}
}