[CodeUp 기초 100제] 6062번 풀이 with 파이썬(python)

Jeony·2021년 9월 11일
0

codeup 기초 100제

목록 보기
62/98
post-thumbnail

문제

비트단위 논리연산

입력된 정수 두 개를 비트단위로 xor 연산한 후 그 결과를 정수로 출력해보자.
비트단위(bitwise) 연산자 ^(xor, circumflex/caret, 서컴플렉스/카릿)를 사용하면 된다.

** 주의 ^은 수학식에서 거듭제곱(power)을 나타내는 기호와 모양은 같지만,
C언어에서는 전혀 다른 배타적 논리합(xor, 서로 다를 때 1)의 의미를 가진다.

** 비트단위(bitwise) 연산자는,
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor),
<<(bitwise left shift), >>(bitwise right shift)
가 있다.

예를 들어 3과 5가 입력되었을 때를 살펴보면
3 : 00000000 00000000 00000000 00000011
5 : 00000000 00000000 00000000 00000101
3 ^ 5 : 00000000 00000000 00000000 00000110
이 된다.
이러한 비트단위 연산은 빠른 계산이 필요한 그래픽처리에서도 효과적으로 사용된다.

참고


출처: CodeUp 기초 100제 6060번 첨부이미지

입력 예시

3 5

출력 예시

6

답안

모델 답안

a, b = input().split()
c = int(a)
d = int(b)
print(c^d)

내 답안

n1, n2 = input().split()
result = int(n1) ^ int(n2)
print(result)

풀이

내 풀이

input(): 프롬프트를 띄워서 사용자의 입력 받을 수 있게 해준다.
(단, 입력 받은 것은 문자열로 저장된다. print(type()))으로 type() 괄호 안에 변수를 넣고 찍으면 정수인지, 문자열인지, 무슨 타입인지 확일 할 수 있다!)

int(): 위의 input()에서 말했듯이 input으로 받은 값은 문자열로 저장된다.
산술을 하기 위해, 문자열을 정수로 변환시켜주는 int()를 써서 변환시켜준다.

^(서컴플렉스, bitwise xor): 10진수를 컴퓨터 언어인 2진수 방식의 xor를 표현해준다.
a xor b: 두 값 중 하나만 True인 경우 True, 그렇지 않은 나머지는 다 False

  1011
^1001
---------
  0010
위 예시와 같이 두 2진수의 값 중 1개만 1(True)인 부분을 표현해준다.

print(): 괄호 안의 내용을 출력!

profile
알고리즘으로 문제를 해결하자 (ʘ言ʘ╬)

0개의 댓글