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
- sorting
- array
- java
- Counting
- Binary Search
- string
- simulation
- Stack
- Math
- Method
- Binary Tree
- bit manipulation
- 코테
- hash table
- Class
- SQL
- implement
- Data Structure
- 구현
- database
- 코딩테스트
- 자바
- greedy
- Matrix
- geometry
- dynamic programming
- two pointers
- Tree
- Number Theory
- 파이썬
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 |