정답) class Solution: def hammingWeight(self, n: int) -> int: res = 0 for _ in range(32): if n & 1 == 1: res += 1 n >>= 1 return res 문제) 문제출처 2진수로 표현된 정수를 받아 그 2진수에서 1이 몇 개 있는지 리턴하는 함수를 만드시오. 예시 1) n = 00000000000000000000000000001011 output = 3 예시 2) n = 00000000000000000000000010000000 output = 1 예시 3) n = 11111111111111111111111111111101 output = 31 제한) 인풋의 길이는 32입니다. 풀이) 저번 문제와 비슷하게 &연산자와 >>연산..
정답) class Solution: def reverseBits(self, n: int) -> int: res = 0 for _ in range(32): res = (res=1 return res 정답출처 문제) 문제출처 32비트의 정수가 주어졌을 때 그 정수의 비트들을 뒤집어 전환시키시오. 예시 1) n = 00000010100101000001111010011100 output = 964176192 (00111001011110000010100101000000) 예시 2) n = 11111111111111111111111111111101 output = 3221225471 (10111111111111111111111111111111) 제한) 인풋의 길이는 32입니다. 도전) 만약 이 함수가 계속해서 실행..
정답) class Solution: def singleNumber(self, nums: List[int]) -> int: firstInt = nums[0] for i in range(1, len(nums)): firstInt ^= nums[i] return firstInt 문제) 문제출처 적어도 한 개의 정수가 존재하는 배열 nums가 주어졌을 때 nums의 원소들은 하나의 원소를 제외하고 2번씩 나타납니다. 한 번 밖에 나타나지 않는 한 개의 정수를 구하시오. 단, O(n) 시간 복잡도와 O(1) 공간 복잡도를 가진 정답을 제출하시오. 예시 1) nums = [2, 2, 1] ouptut = 1 예시 2) nums = [4, 1, 2, 1, 2] output = 4 예시 3) nums = [1] out..