Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- JavaScript
- jest
- class
- nodejs
- react
- OCR
- GIT
- dfs
- 자료구조
- mongoose
- game
- Queue
- MongoDB
- AWS
- cookie
- Python
- 정렬
- Bull
- nestjs
- typeORM
- Sequelize
- 게임
- Nest.js
- Dinosaur
- MySQL
- TypeScript
- Express
- 공룡게임
- flask
Archives
- Today
- Total
포시코딩
12월31일 본문
728x90
비트 연산자
예전에 코테 문제를 풀다 이진수를 이용한 연산에 대해 공부한 적 있는데
그 때 한번 겪고 말아서 이번에 다시 >> 시프트 비트 연산자가 나온김에 복습해본다.
OR 비트 논리 연산자
c = bin(0b10110 | 0b01010)
print(c)
a = int(0b10110) # 22
b = int(0b01010) # 10
print(bin(a | b))
d = bin(22 | 10)
print(d)
<< 시프트 연산자
비트의 위치를 이동시키는 연산자로 <<일 경우 왼쪽으로, >>는 오른쪽으로 이동시킨다.
def solution(n, t):
return n << t
이번 문제에서 나온 위 풀이는 n에 대해 t만큼 왼쪽으로 이동시킨다는건데
n << t는 n*2^n과 같다는 방법을 이용했다.
참고로 n >> t여서 t만큼 이동했을 때 비트 범위 밖으로 넘어가는 값에 대해서는 그냥 사라진다는 점을 확인해야한다.
아스키코드 변환
Python에서 알파벳이 소문자인지 대문자인지 확인하는 방법으로
아스키코드값을 통해 알아보는 방법을 떠올려 어떻게 해야 되는지 정리해보고자 한다.
# 아스키코드로 변환
ord('a')
ord('A')
# 문자로 변환
chr(97)
a = [chr(x) for x in range(ord('A'), ord('Z')+1)]
print(a)
# ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
b = [chr(x) for x in range(ord('a'), ord('z')+1)]
print(b)
# ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z']
print(ord('A'), ord('Z'), ord('a'), ord('z'))
# 65 90 97 122
Python 문자열의 대소문자
str.islower() # 소문자인지 확인
str.isupper() # 대문자인지 확인
str.lower() # 소문자로 변환
str.upper() # 대문자로 변환
str.swapcase() # 대소문자를 서로 변환
728x90