Post List

2016년 3월 13일 일요일

[Top 20 Coding Interview] 05. Swap Number without using additional memory (C#)

Swap Number without using additional memory

How to swap two numbers without using a temp variable, write code which is free from Integer overflow?
추가로 변수를 사용하지 않고 두 숫자의 저장된 위치를 바꾸세요.
이 문제는 Programming skill을 묻는게 아니라 해법을 생각하게 하는 질문입니다.
방법은 2가지가 있습니다.
+나 -를 이용해도 되지만, 그럴 경우 overflow가 일어날 수가 있기 때문에 XOR연산(^)을 이용하면 됩니다.

C#

class Program
{
    static void Main(string[] args)
    {
        int a = 30593;
        int b = 13953093;

        a ^= b;
        b ^= a;
        a ^= b;

        System.Console.WriteLine(a);
        System.Console.WriteLine(b);
    }
}

댓글 없음:

댓글 쓰기