Data structure & Algorithm/Code up

[Code up] 코드업 6059번 문제 풀이(Python)

LydiaRyu 2022. 7. 18. 21:06
반응형

 코드업 6059번 문제: 비트단위로 NOT 하여 출력하기 (Python)

 

📒 문제 설명

 

입력된 정수를 비트단위로 참/거짓을 바꾼 후 정수로 출력해보자.

입력 예시

2

출력 예시

-3

 

😃 문제 풀이

n = int(input())

print(~n)

 

  • 문제 풀이 자체는 간단하지만, 비트 단위 연산자에 대해 이해하는 것이 중요하다. 
비트 단위(Bitwise) 연산자
~ bitwise not( 반대로 바꿔주는 연산자, 0 →1 / 1→0)
& bitwise and( 0&0 → 0/ 0&1 → 0/ 1&0 → 0/ 1&1 →1 )
| bitwise or( 0&0 → 0/ 0&1 → 1/ 1&0 → 1/ 1&1 →1 )
^ bitwise xor( 0&0 → 0/ 0&1 → 1/ 1&0 → 1/ 1&1 →0 )
<< bitwise left shift (왼쪽으로 한 단위 이동)
>> bitwise right shift (오른쪽으로 한 단위 이동)

 

  • 문제에서는 참과 거짓을 바꾼 후 출력하는 것이기 때문에 ~(틸드)를 사용하여 비트 단위 연산을 한다. 이때, 4bit로 예를 들어보면, 10진수 1은 비트로 0001이다. 이를 bitwise not (~) 연산자로 산출하면 1110이 되고, 이는 10진수로 -1이다.
4bit 0010 0001 0000 1111 1110 1101
10진수 2 1 0 -1 -2 -3

 

 

 👇 bitwise left shift / bitwise right shift  문제 예제

 

2022.07.14 - [Data structure & Algorithm/Code up] - [Code up] 6033번 문제, 문자 1개 입력받아 다음 문자 출력하기

 

[Code up] 6033번 문제, 문자 1개 입력받아 다음 문자 출력하기

📒 문제 설명 문자 1개를 입력받아 그다음 문자를 출력해보자. 영문자 'A'의 다음 문자는 'B'이고, 숫자 '0'의 다음 문자는 '1'이다. 입력 예시 a 출력 예시 b 😃 문제 풀이 a = input() # 문자를 정수형

lydia-ds.tistory.com

 

 

 👇 AND / OR/ XOR 연산자

 

2021.07.26 - [DIY Data Science/MLDL] - [Deep Learning][Deep Learning for Scratch] 퍼셉트론(Perceptron)

 

[Deep Learning][Deep Learning for Scratch] 퍼셉트론(Perceptron)

사이토 고키, 「밑바닥부터 시작하는 딥러닝」, 개앞맵시, 한빛미디어, Chapter 2의 내용을 정리하고 공부한 페이지입니다.   퍼셉트론(Perceptron) - 다수의 신호를 받아 하나의 신호를 출력한다. -

lydia-ds.tistory.com

 

728x90