비트마스킹
·
💻 CS/알고리즘
비트마스킹 컴퓨터는 내부적으로 모든 자료를 이진수로 표현한다. 이런 특성을 이용해 정수의 이진수표현을 자료구조로 쓰는 기법 비트마스크를 이용하면 더 빠른 수행시간, 더 간결한 코드, 더 적은 메모리 사용이 가능하다. 비트 연산자 비트마스킹은 기본적으로 비트를 다뤄야 하므로, 비트 연산자에 대해서 먼저 알아보자. a & b a의 모든 비트와 b의 모든 비트를 AND 연산한다. 둘다 1이라면 1, 아니면 0 ex) 100 & 111 = 100 a | b a의 모든 비트와 b의 모든 비트를 OR 연산한다. 둘다 0이라면 0, 아니면 1 ex) 010 | 111 = 111 a ^ b a의 모든 비트와 b의 모든 비트를 XOR 연산한다. 둘이 다르다면 1, 아니면 0 ex) 011 ^ 101 = 110 ~a a의..
[Swift] 프로그래머스12911 다음 큰 숫자
·
📝 코테/프로그래머스
import Foundation func solution(_ n:Int) -> Int { var answer : Int = n + 1 while true { if n.nonzeroBitCount == answer.nonzeroBitCount { break; } answer += 1 } return answer } n.nonzeroBitcount : 비트에서 1의개수 세준다. import Foundation func solution(_ n:Int) -> Int { let countOne = countBinaryOne(n); for num in n+1...Int.max { if countBinaryOne(num) == countOne { return num; } } return n } func countBi..
[Swift] 프로그래머스42862 체육복
·
📝 코테/프로그래머스
import Foundation func solution(_ n:Int, _ lost:[Int], _ reserve:[Int]) -> Int { var lost = lost.sorted(by:
JerryiOS
Jerry