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

문제

비트시프트연산

정수 1개를 입력받아 2배 곱해 출력해보자.

참고

예를 들어 1 3 이 입력되면 1을 23(8)배 하여 출력한다.

예시

a = 2
b = 10
print(a << b) #210 = 1024 가 출력된다.

입력 예시

1024

출력 예시

2048

답안

모델 답안

n = int(input())
print(n<<1)

내 답안

a, b = input().split()
print(int(a) << int(b))

풀이

내 풀이

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

split(): input()으로 입력 받을 때 split()의 괄호 안의 내용에 따라서 제약을 걸 수 있음.
split()의 괄호 안에 아무것도 없으면 split(" ")과 똑같은 의미가 된다.
a, b = input().split() 시 입력할 때 a와 b 사이에 한 칸 띄어쓰기를 해주어야 에러가 안난다!

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

<<(왼쪽 비트시프트 연산자): 수를 곱해주는 연산자 (내부로는 컴퓨터 언어인 2진수 뒤에 0을 붙이는 방식)
2 << 1 = 4
2 << 2 = 8
2 << 3 = 16

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

좋은 웹페이지 즐겨찾기