java
-
비트(Bit)와 비트마스킹(Bitmasking) 비트마스킹 기법에 대해 학습한 내용을 정리해둔다. 자바의 비트 연산자와 비트 이동 연산자를 알아보고, 비트마스킹이 무엇인지 알아보도록 하겠다. 자바 비트 연산자 & bit AND 연산자 비교하는 비트가 모두 1이면 1 # a = 22, b = 14 # a & b 00010110 (AND) & 00001110 ------------------ 00000110 | bit OR 연산자 비교하는 비트 중 하나라도 1이면 1 # a = 22, b = 14 # a | b 00010110 (OR) | 00001110 ------------------ 00011110 ^ bit XOR 연산자 양쪽 비트가 같으면 0, 다르면 1 # a = 22, b = 14 # a ^ b..
[Algorithm] 비트마스킹(Bitmasking) (Java)비트(Bit)와 비트마스킹(Bitmasking) 비트마스킹 기법에 대해 학습한 내용을 정리해둔다. 자바의 비트 연산자와 비트 이동 연산자를 알아보고, 비트마스킹이 무엇인지 알아보도록 하겠다. 자바 비트 연산자 & bit AND 연산자 비교하는 비트가 모두 1이면 1 # a = 22, b = 14 # a & b 00010110 (AND) & 00001110 ------------------ 00000110 | bit OR 연산자 비교하는 비트 중 하나라도 1이면 1 # a = 22, b = 14 # a | b 00010110 (OR) | 00001110 ------------------ 00011110 ^ bit XOR 연산자 양쪽 비트가 같으면 0, 다르면 1 # a = 22, b = 14 # a ^ b..
2022.12.20 -
프로그래머스 : 부대복귀 (Java) 문제 링크 확인 풀이 최단 거리를 구하는 문제이다. 문제가 어려운 것 같지만 차근차근 읽어보면 생각보다 쉽게 문제를 풀 수 있다. 문제에서 주어진 조건을 정리하자면 다음과 같다. n은 총 지역의 수를 의미한다. roads는 roads[x][2]의 크기로 roads[x][0]과 roads[x][1]은 서로 이어진 경로가 있다는 것을 의미한다. road[x][0]에서 road[x][1]로 경로가 있다는 것은, road[x][1]에서 road[x][0]으로도 이동할 수 있다는 의미이다. 각 지역의 이동 비용은 1이다. sources는 1차원 배열로 부대원들이 각각 출발하는 지역을 의미한다. destination은 부대원들이 도착해야 할 목적지를 말한다. 여기서 중요한 점은..
[프로그래머스] 부대복귀프로그래머스 : 부대복귀 (Java) 문제 링크 확인 풀이 최단 거리를 구하는 문제이다. 문제가 어려운 것 같지만 차근차근 읽어보면 생각보다 쉽게 문제를 풀 수 있다. 문제에서 주어진 조건을 정리하자면 다음과 같다. n은 총 지역의 수를 의미한다. roads는 roads[x][2]의 크기로 roads[x][0]과 roads[x][1]은 서로 이어진 경로가 있다는 것을 의미한다. road[x][0]에서 road[x][1]로 경로가 있다는 것은, road[x][1]에서 road[x][0]으로도 이동할 수 있다는 의미이다. 각 지역의 이동 비용은 1이다. sources는 1차원 배열로 부대원들이 각각 출발하는 지역을 의미한다. destination은 부대원들이 도착해야 할 목적지를 말한다. 여기서 중요한 점은..
2022.12.11