Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Counting
- string
- hash table
- two pointers
- Tree
- Matrix
- Binary Tree
- Data Structure
- Stack
- sorting
- SQL
- geometry
- Number Theory
- Binary Search
- database
- 구현
- array
- greedy
- java
- 코딩테스트
- Math
- Method
- simulation
- dynamic programming
- 코테
- bit manipulation
- 자바
- Class
- implement
- 파이썬
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 1720. Decode XORed Array 본문
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로 디코딩이 된다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 1732. Find the Highest Altitude (0) | 2023.01.02 |
---|---|
[LeetCode/Easy] 1725. Number Of Rectangles That Can Form The Largest Square (0) | 2023.01.02 |
[LeetCode/Easy] 1716. Calculate Money in Leetcode Bank (0) | 2023.01.02 |
[LeetCode/Easy] 976. Largest Perimeter Triangle (0) | 2023.01.02 |
[LeetCode/Easy] 1704. Determine if String Halves Are Alike (0) | 2023.01.02 |