본문 바로가기
프로그래밍/Codility

C# [codility] OddOccurrencesInArray

by 뽀도 2019. 8. 29.

 

< c# dictionary 혹은 xor 비트연산 사용 >

- 둘다 100,100,100 이고 아래의 시간복잡도를 보여줌. 

 

 

 

 

<문제 해결법>
- dictionary에는 중복된 키값이 들어갈 수 없음을 이용한 방법 

...더보기

dictionary

public int Solustion2(int[] A)
{
  var list = A.ToList();
  var dic = new Dictionary<int,int>();

  foreach(var r in list)
  {
  if (dic.ContainsKey(r))
  dic.Remove(r);
  else
  dic.Add(r, r);
  }
  return dic.Keys.First();
}

 

...더보기

xor 연산자 사용

 public int Solution3(int[] A)
        {
            int temp = 0;
            var list = A.ToList();

            foreach (var r in list)
            {
                temp = temp ^ r;
            }
            return temp;
        }

 

참고 블로그 : https://hojak99.tistory.com/314

반응형

'프로그래밍 > Codility' 카테고리의 다른 글

[c#] codility - TapeEquilibrium - 좀 더 생가해보기.  (0) 2019.09.02
[c#] Codility - PermMissingElem  (0) 2019.09.01
[c#] codility : frogjmp  (0) 2019.09.01
[c#] Codility - CyclicRotation  (0) 2019.08.30
[c#] codility - BinaryGap  (0) 2019.08.28

댓글