본문 바로가기

비트연산4

[LeetCode] Broken Calculator https://leetcode.com/problems/broken-calculator/ Broken Calculator - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 자꾸 풀라고 알람이 와서 풀어버리겠다!! 첫 풀이 class Solution: def brokenCalc(self, startValue: int, target: int) -> int: q : Deque = collections.deque() q.append((startValue, 0)) whil.. 2022. 3. 23.
[프로그래머스] 카드 짝 맞추기(Python) https://programmers.co.kr/learn/courses/30/lessons/72415 코딩테스트 연습 - 카드 짝 맞추기 [[1,0,0,3],[2,0,0,0],[0,0,0,2],[3,0,1,0]] 1 0 14 [[3,0,0,2],[0,0,1,0],[0,1,0,0],[2,0,0,3]] 0 1 16 programmers.co.kr 완전 탐색 + bfs로 풀이하려다 실패하고 다른 풀이를 참고했다. 알고리즘은 모든 경우에 대해 탐색하는 것인데, 매번 경우에서 순서를 정해놓고 탐색하는 아이디어다. 제거된 카드인지 확인하는 부분에서 비트 연산을 쓰는 것이 인상적이다. 나도 이렇게 짤 수 있게 노력해야겠다잇 import math import queue Board = [] Allremoved = 1 A.. 2022. 2. 8.
제곱수, 2의 n 제곱인지 확인 제곱수인지 확인 def isSquare(n): return int(n ** 0.5) ** 2 == n 2의 n 제곱인지 확인 def isPowerOf2(n): return (n&(n-1))==0 2의 제곱은 비트로 나타낼 때 맨 왼쪽 비트만 1이고, n이 2의 제곱이라면 n-1 은 맨 왼쪽 비트가 0이고 그 오른쪽 비트들은 모두 1이게 됨. 따라서 n이 2의 거듭제곱이라면 n과 n-1을 and 연산 했을 때 0이 나오게 됨. 2021. 12. 29.
[프로그래머스] 2개 이하로 다른 비트(Python) https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 처음에 xor 연산 + count('1') 2021. 11. 2.