일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 2020 카카오 인턴십
- 비트마스킹
- 2020 KAKAO BLIND RECRUITMENT
- 투 포인터
- 파이썬
- 2019 KAKAO BLIND RECRUITMENT
- 백트래킹
- 백준
- 이분탐색
- 플로이드와샬
- 2021 KAKAO BLIND RECRUITMENT
- 2018 KAKAO BLIND RECRUITMENT
- 스택
- GIT
- 트라이
- 시뮬레이션
- 구현
- 최소 신장 트리
- 플로이드 와샬
- 로봇 청소기
- 프로그래머스
- 다익스트라
- SWEA
- 브루트포스
- 크루스칼
- 우선순위큐
- Spring
- 투포인터
- 조합
- BFS
- Today
- Total
목sssssss록비트마스킹 (2)
개발조아
문제 링크 : https://www.acmicpc.net/problem/15787 15787번: 기차가 어둠을 헤치고 은하수를 입력의 첫째 줄에 기차의 수 N(1 ≤ N ≤ 100000)과 명령의 수 M(1 ≤ M ≤ 100000)가 주어진다. 이후 두 번째 줄부터 M+1번째 줄까지 각 줄에 명령이 주어진다. www.acmicpc.net 비트 연산, 비트마스킹 문제이다. 명령 1은 해당 자리 비트를 1로 변경한다 명령 2는 해당 자리 비트를 0으로 변경한다 명령 3은 왼쪽 쉬프트 연산이다 명령 4는 오른쪽 쉬프트 연산이다. 주의 할점이 있다. 1. 쉬프트 연산 방향 - 비트는 오른쪽에서 왼쪽으로 순서이므로 방향에 주의하자. 2. 왼쪽 쉬프트 연산 좌석은 최대 20개 이다. 만약 20번째 좌석에 승객이 앉..
문제 링크 : https://www.acmicpc.net/problem/4991 4991번: 로봇 청소기 각각의 테스트 케이스마다 더러운 칸을 모두 깨끗한 칸으로 바꾸는 이동 횟수의 최솟값을 한 줄에 하나씩 출력한다. 만약, 방문할 수 없는 더러운 칸이 존재하는 경우에는 -1을 출력한다. www.acmicpc.net 비트마스킹으로 해결한 문제이다. 예전에 풀었던건데 그때는 BFS+DFS로 풀었다. 이 방법은 느리다. 모든 시작점과 더러운칸에서 BFS를 진행하고 마지막에 DFS를 진행 했기 때문이다. 그때의 알고리즘은 아래 더보기를 누르면 된다. 더보기 시작점과 더러운칸에 0부터 번호를 매기고 start라는 배열에 번호를 저장했다. 그리고 start배열의 점에서 각각 BFS를 실행하여 각 점사이의 거리 최..