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 | 31 |
Tags
- GlobalInterprintLock
- 코로나백신
- flake8
- 오큘러스퀘스트2
- Algorithm
- vscode
- ProxyServer
- python
- typevar
- printer_helper
- 독후감
- springboot
- httppretty
- codewar
- 유닉스의탄생
- 글쓰기가필요하지않은인생은없다
- restfulapi
- organizeImports
- loadimpact
- conf
- codewars
- goalng
- 규칙없음
- maxlinelength
- pep8
- 조엘온소프트웨어
- Lint
- pyenv
- Golang
- opensouce
Archives
- Today
- Total
일상적 이야기들.
codewar: Find the odd int 본문
문제
- https://www.codewars.com/kata/54da5a58ea159efa38000836
문제풀이
- 홀수번 나온 숫자를 구하는 문제로, 1차적인 생각으로는 나온 숫자를 Count해서 홀수인 값을 return 시키면 됩니다.
- 그러나, 조금 더 나아가서 xor을 사용하게 되면 손쉽게 풀 수 있는 문제가 됩니다.
- xor는 Bit연산으로 서로 다를 때 True로 전환이 되게 됩니다. 고로 동일한 값을 xor을 하게 되면 0의 값을 출력시키게 됩니다.
- 그렇기에, 짝수번 나오게되는 숫자는 0으로 변경이 되게 되고 그렇지 않은 숫자는 남게 되는 것입니다.
public class FindOdd {
public static int findIt(int[] a) {
int result = a[0];
for(int i=1; i<a.length; ++i) {
result ^= a[i];
}
return result;
}
}
'프로그래밍 > 알고리즘 문제풀이' 카테고리의 다른 글
codewars: Counting Duplicates (0) | 2019.07.04 |
---|---|
codewar: Sum of Parts (0) | 2019.07.02 |
codewar: Convert a String to Number! (0) | 2019.07.02 |
codewar: Where is THB? (0) | 2019.07.02 |
codewar: Remove First and Last Character (0) | 2019.06.25 |
Comments