코딩테스트 풀이/JAVA
[LeetCode/Easy] 1720. Decode XORed Array
무지맘
2023. 1. 2. 23:27
1. Input
1) 정수 배열 encoded
- encoded의 길이는 n-1이다.
2) 정수 first
2. Output
1) 다음 규칙을 이용해 해독한 배열 arr
- arr의 길이는 n이다.
// 규칙
- arr[0] == first
- encoded[i] == arr[i] XOR arr[i+1]
3. Constraint
1) 2 <= n <= 10^4
2) 0 <= encoded[i] <= 10^5
3) 0 <= first <= 10^5
4. Example
Input: encoded = [1,2,3], first = 1 -> Output: [1,0,2,1]
설명:
- encoded[0] == 1 <- arr[0] XOR arr[1] == 1 ^ 0 == 1
- encoded[1] == 2 <- arr[1] XOR arr[2] == 0 ^ 2 -> 00 ^ 10 == 10 -> 2
- encoded[2] == 3 <- arr[2] XOR arr[3] == 2 ^ 3 -> 10 ^ 01 == 11 -> 3
5. Code
1) 첫 코드(2022/06/03)
int len = encoded.length+1;
int[] arr = new int[len];
arr[0] = first;
for(int i=0 ; i<len-1 ; i++){
arr[i+1] = encoded[i]^arr[i];
} // for i
return arr;
- xor로 인코딩한 것은 xor로 디코딩이 된다.