codeground 연습문제 1
이 문제는 XOR 연산에 대하여 잘 알고 있는지를 묻고 있는 문제이다.
우선 주어진 숫자가 홀수번 나타난 것들 끼리 XOR연산을 하는 작업이다.
XOR의 특성은 x라는 수에 y를 두번 XOR 연산을 하면 다시 x가 되기 때문에 무시가 된다.
따라서 다음과 같은 코드를 작성할 수 있다.
출처: https://www.codeground.org/practice/practiceProblemView
우선 주어진 숫자가 홀수번 나타난 것들 끼리 XOR연산을 하는 작업이다.
XOR의 특성은 x라는 수에 y를 두번 XOR 연산을 하면 다시 x가 되기 때문에 무시가 된다.
따라서 다음과 같은 코드를 작성할 수 있다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | import java.util.Scanner; class Solution { static int Answer, T, N, num; public static void main(String[] args) { Scanner sc = new Scanner(System.in); T = sc.nextInt(); for (int i = 0; i < T; i++) { Answer = 0;N = sc.nextInt(); for (int j = 0; j < N; j++) { num = sc.nextInt(); if (j == 0) { Answer = num; }else { Answer ^= num; } } System.out.println("Case #"+(i+1)); System.out.println(Answer); } } } |
출처: https://www.codeground.org/practice/practiceProblemView