WIL&TIL/TIL
20230419 TIL 알고리즘, 비트 쉬프트 연산
코드뭉치
2023. 4. 19. 10:58
def solution(n):
cnt = {}
answer = n
for i in range(1,n+1):
for j in range(1, i+1):
if i % j == 0:
try:
cnt[i] += 1
except:
cnt[i] = 1
if cnt[i] <= 2:
answer -= 1
return answer
def solution(array):
return [max(array),array.index(max(array))]
def solution(age):
a = 'abcdefghij'
b = list(str(age))
c = [a[int(i)] for i in b]
return "".join(c)
def solution(n, numlist):
answer = []
for i in numlist:
if i % n == 0:
answer.append(i)
return answer
- 리스트 컴프리헨션
def solution(n, numlist):
return [i for i in numlist if i % n == 0]
비트 쉬프트 연산
def solution(n, t):
return n << t
왼쪽 시프트 연산자 (<<) : 이진수의 비트를 왼쪽으로 이동시킨다.
이동한 공간은 0으로 채워진다. 예를 들어, 0b0010 << 1은 0b0100을 반환한다.
오른쪽 시프트 연산자 (>>) : 이진수의 비트를 오른쪽으로 이동시킨다.
이동한 공간은 부호 비트로 채워진다. 예를 들어, 0b0100 >> 1은 0b0010을 반환한다.
비트 쉬프트 연산자는 특히 비트 단위로 연산을 수행하는 경우에 유용하다.
예를 들어, 특정 비트 위치에 1을 삽입하거나, 비트 위치를 추출하는 등의 작업을 수행할 때 유용