Machineboy空

[Kata] Find the odd int 본문

Computer/Coding Test

[Kata] Find the odd int

안녕도라 2025. 11. 19. 15:50

문제요약

홀수번 등장하는 수를 출력하라

 

https://www.codewars.com/kata/54da5a58ea159efa38000836/solutions/csharp

 

Codewars - Achieve mastery through coding practice and developer mentorship

A coding practice website for all programming levels – Join a community of over 3 million developers and improve your coding skills in over 55 programming languages!

www.codewars.com


난이도

6kyu


풀이 포인트

  • 딕셔너리
  • XOR연산
  • LINQ

REVIEW

 

너무나 정직하게 딕셔너리로 풀었다.

key에 숫자, value에 개수를 매핑하고 value가 홀수인 것을 찾는 식으로 풀었다.

 

GPT한테 물어보니 XOR 연산을 쓰는 대표적인 문제라고 한다.

XOR연산 즉, 서로 같은 수일 때 0이 된다는 성질을 활용한다.

정확히 원리인지 이해는 가지 않지만 손으로 풀어보니

result가 홀수개이니 숫자로 치환되고, 같은 숫자가 나오면 즉 짝수개가 되면 result가 0이 리셋된다.

 

매번 C#으로 문제를 풀다보면, 모범 풀이에 LINQ가 무조건 등장한다..

LINQ 쓸 수 있도록 연마해야 하는 것일까 고민

 


CODE

namespace Solution
{
  class Kata
  {
        public static int find_it(int[] seq)
        {
            int found = 0;

            foreach (var num in seq)
            {
                found ^= num;
            }

            return found;
        }
  }
}